1

jQuery's find() method is not working with everything except my class .szenenkasten. It doesn't make any sense at all...

Simplified source code:

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
4

1 回答 1

4

在您的 jquery 元素的后代中查找外观。在这里,您的跨度不是后代,而是相同的元素。

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

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

或者干脆

alert($('span.szenenkasten'));
于 2013-03-25T16:12:53.307 回答