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/