讓我們說我有一個類似這樣的標記:jQuery的 - 從元素中選擇元素
<div id="foo">
...
<span id="moo">
...
</span>
...
</div>
,我想選擇#moo。
爲什麼$('#foo').find('span')
有效,但$('span', $('#foo'));
沒有?
讓我們說我有一個類似這樣的標記:jQuery的 - 從元素中選擇元素
<div id="foo">
...
<span id="moo">
...
</span>
...
</div>
,我想選擇#moo。
爲什麼$('#foo').find('span')
有效,但$('span', $('#foo'));
沒有?
您可以使用任何一個這些
$("#moo") > $("#foo #moo") > $("div#foo span#moo") > $("#foo span") > $("#foo > #moo")
我認爲第三個應該是跨度#moo不是跨度#foo? – xr280xr 2013-07-25 21:51:35
是的。我已經把c orrection – 2013-07-26 04:14:01
都似乎工作。
其實,$( '#身份證',這一點);會在任何後代級別選擇#id,而不僅僅是直接子級。試試這個:
$(this).children('#id');
或
$("#foo > #moo")
或
$("#foo > span")
不會選擇任何東西,因爲元素具有** ID **'moo',而不是類。 – 2011-04-27 18:16:34
值得注意的是'.children()'和'。 find()'是相似的,除了前者只在DOM子樹中向下移動一個層次。 – Kevin 2016-05-26 03:13:50
爲什麼不直接使用:
$("#foo span")
或
$("#foo > span")
$('span', $('#foo'));
作品在我的機器上的罰款;)
'$($(elementA),'tr#'+ key +'span')'不適用於我(jQuery 1.10 .2) – Cody 2014-07-07 16:34:58
看看這裏[從最快的開始] - 查詢元素的子元素:
$(document.getElementById('parentid')).find('div#' + divID + ' span.child');
您可以使用find
選項來選擇另一個元素。例如,要找到ID txtName的在一個特定的div元素,你可以像使用
var name = $('#div1').find('#txtName').val();
爲什麼不'$( '#哞')'? ;)Btw。它確實工作:http://jsfiddle.net/fkling/k5X2r/ – 2011-04-27 18:15:11
或'$('#foo span')';-) – Capsule 2011-04-27 18:18:41
我不知道爲什麼,但鉤到選定範圍的函數會應用到所有跨越頁面,而不僅僅是一個裏面的#foo :( – Alex 2011-04-27 18:31:01