jQuery find()方法不仅仅在一个(!)类上工作

时间:2013-03-25 16:12:08

标签: javascript jquery

jQuery的find()方法不能处理除了我的类 .szenenkasten 之外的所有内容。 它根本没有任何意义......

简化的源代码:

HTML

<ul class="NavBar">
    <li></li>  
    <li></li> 
    <li></li> 
    <li></li> 
    <li></li>         
</ul>

<span class="szenenkasten"></span>
<span class="szenenkasten"></span>
<span class="szenenkasten"></span>
<span class="szenenkasten"></span>
<span class="szenenkasten"></span>

的jQuery

alert($('.NavBar').find('li').length);
 //returns 5
alert($('.szenenkasten').find('span').length);
 //returns 0
alert($('span').find('.szenenkasten').length);
 //returns 0
alert($('span.szenenkasten').length);
//returns 5

1 个答案:

答案 0 :(得分:4)

find看起来是你的jquery元素的后代。在这里你的跨度不是后代,而是相同的元素。

不要在这里使用find但是过滤器:

alert($('.szenenkasten').filter('span').length);

或只是

alert($('span.szenenkasten'));