Aby selektorów gniazdo, należy użyć find
:
jQuery('#mySelectorId').find('.mySelectorClass')
To jest tak samo jak robi to za dobrze:
jQuery('#mySelectorId .mySelectorClass')
Będąc pewny umieścić przestrzeń pomiędzy. Bez spacji wybierasz element o tym ID i tej klasy.
Chciałbym również zauważyć, że kod jest prawdopodobnie nie robi to, co myślisz, że jest:
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');
});
Ostatnie 4 jQuery(".mywidget")
połączenia są dodając widżet do ciała za każdym razem. Naprawdę tylko chcą go dodać raz i zmienić css dla każdego stylu:
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');
});
który może być również obniżona do rozmowy jeden 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';
});
});
Uwaga, poza tym swój identyfikator nie ma spacji, zgodnie ze specyfikacją HTML. A jeśli masz prawidłowy identyfikator, byś go wybrać tak:
jQuery("#A0.R0.Main_Phone_Number")
Jak daleko jak mogę powiedzieć, ta funkcja wydaje się w porządku. –
Czy Twój identyfikator rzeczywiście zawiera spacje? Specyfikacja HTML mówi, że identyfikatory nie mogą zawierać spacji. Normalnie wybierasz ID z '#'. To znaczy. '$ (" # myID ")'. –
Dlaczego 'mousedown', a nie' kliknięcie'? również ids nie powinny mieć takich spacji, wątpię, żeby to się poprawiło. Zamiast tego można użyć 'danych' ... – elclanrs