Para selectores de nidos, se utiliza find
:
jQuery('#mySelectorId').find('.mySelectorClass')
Esto es lo mismo que hacer esto así:
jQuery('#mySelectorId .mySelectorClass')
asegurándose de dejar un espacio entre. Sin el espacio que está seleccionando un elemento con ese ID y esa clase.
también desean señalar que el código es, probablemente, no haciendo lo que creo que es:
jQuery("[id='A0.R0.Main Phone Number']").live('mousedown',function(e) {
var container = $(this).width();
var width_offset = -50;
var top_offset = 25;
var width = (container + width_offset).toString();
jQuery(".mywidget").appendTo(document.body).css('width', width + 'px');
jQuery(".mywidget").appendTo(document.body).css('position', 'absolute');
jQuery(".mywidget").appendTo(document.body).css('top', ($(this).offset().top+top_offset).toString() + 'px');
jQuery(".mywidget").appendTo(document.body).css('left', Math.round($(this).offset().left) + 'px');
});
Los últimos 4 jQuery(".mywidget")
llamadas están agregando el widget para el cuerpo cada vez. Que realmente sólo quiere añadir una sola vez y cambiar el css para cada estilo:
jQuery("[id='A0.R0.Main Phone Number']").live('mousedown',function(e) {
var container = $(this).width();
var width_offset = -50;
var top_offset = 25;
var width = (container + width_offset).toString();
jQuery(".mywidget").appendTo(document.body).css('width', width + 'px').css('position', 'absolute').css('top', ($(this).offset().top+top_offset).toString() + 'px').css('left', Math.round($(this).offset().left) + 'px');
});
que también puede ser reducida a una llamada css:
jQuery("[id='A0.R0.Main Phone Number']").live('mousedown',function(e) {
var container = $(this).width();
var width_offset = -50;
var top_offset = 25;
var width = (container + width_offset).toString();
jQuery(".mywidget").appendTo(document.body).css({
width: width + 'px',
position: 'absolute',
top: ($(this).offset().top+top_offset).toString() + 'px',
left: Math.round($(this).offset().left) + 'px';
});
});
Nota, fuera de este, su identificación de no se supone que tenga espacios, de acuerdo con las especificaciones de HTML. Y, si tiene un documento de identidad válido, se selecciona de esta manera:
jQuery("#A0.R0.Main_Phone_Number")
Por lo como puedo ver, esa función parece estar bien. –
¿Su identificación realmente tiene espacios en ella? La especificación HTML dice que los ID no pueden tener espacios. Normalmente selecciona ID con '#'. Es decir. '$ (" # myID ")'. –
¿Por qué 'mousedown' y no' click'? tampoco se supone que los identificadores tengan espacios como ese, dudo que validen. Podría usar 'data' en su lugar ... – elclanrs