jQuery – 从元素中select元素

比方说我有这样的标记:

<div id="foo"> ... <span id="moo"> ... </span> ... </div> 

我想select#moo。

为什么$('#foo').find('span')有效,但是$('span', $('#foo')); 不?

你可以使用这些[从最快]

 $("#moo") > $("#foo #moo") > $("div#foo span#moo") > $("#foo span") > $("#foo > #moo") 

看一看

其实$('#id',this); 会select任何后代级别的#id,而不仅仅是直接的孩子。 试试这个:

 $(this).children('#id'); 

要么

 $("#foo > #moo") 

要么

 $("#foo > span") 

为什么不使用:

 $("#foo span") 

要么

 $("#foo > span") 

$('span', $('#foo')); 在我的机器上工作正常;)

看看这里 – 查询元素的子元素

$(document.getElementById('parentid')).find('div#' + divID + ' span.child');

两者似乎都在工作。

看小提琴: http : //jsfiddle.net/maniator/PSxkS/