要嵌套選擇,您可以使用find
:
jQuery('#mySelectorId').find('.mySelectorClass')
這是一樣的這樣做,以及:
jQuery('#mySelectorId .mySelectorClass')
作爲確保把之間的空間。如果沒有空間,您正在選擇具有該類ID 和的元素。
我還要指出,你的代碼可能不是做什麼,你認爲它是:每次
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');
});
最後4個jQuery(".mywidget")
通話將小部件添加到身體。你真的只需要添加一次,並更改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').css('position', 'absolute').css('top', ($(this).offset().top+top_offset).toString() + 'px').css('left', Math.round($(this).offset().left) + 'px');
});
這也可以減少到一個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';
});
});
注意,這個之外,你的ID根據HTML規範,不應該有空格。而且,如果你有一個有效的ID,你會喜歡這個選擇它:
jQuery("#A0.R0.Main_Phone_Number")
據據我所知,這個功能看起來很好。 – 2012-03-17 21:35:51
你的ID是否真的有空格? HTML規範說ID不能有空格。通常你用'#'選擇ID。即'$( 「#身份識別碼」)'。 – 2012-03-17 21:37:43
爲什麼'mousedown'而不是'click'? ids也不應該有這樣的空間,我懷疑它會驗證。你可以使用'數據'而不是... – elclanrs 2012-03-17 21:53:30