Per selettori nidificare, si utilizza find
:
jQuery('#mySelectorId').find('.mySelectorClass')
Questo è lo stesso di fare anche questo:
jQuery('#mySelectorId .mySelectorClass')
Essere sicuri di mettere uno spazio tra. Senza lo spazio si seleziona un elemento con quell'ID e quella classe.
Vorrei anche notare che il codice non è probabilmente facendo quello che si pensa che è:
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');
});
Gli ultimi 4 jQuery(".mywidget")
chiamate stanno aggiungendo il widget per il corpo ogni volta. È davvero solo da aggiungere una volta e cambiare il css per ogni stile:
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');
});
che può anche essere ridotto a chiamata uno 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, al di fuori di questo, il vostro ID non dovrebbe avere spazi, secondo le specifiche HTML. E, se si dispone di un documento di identità valido, è necessario selezionare in questo modo:
jQuery("#A0.R0.Main_Phone_Number")
Per quanto come posso dire, questa funzione sembra soddisfacente. –
Il tuo ID ha davvero degli spazi? Le specifiche HTML dicono che gli ID non possono avere spazi. Normalmente si selezionano gli ID con '#'. Cioè '$ ("# MyID")'. –
Perché 'mousedown' e non' click'? anche gli id non dovrebbero avere spazi del genere, dubito che lo convalideranno. Potresti usare 'data' invece ... – elclanrs