我在 jQuery 尝试选择最后一个 ul 中除了之外的每个 anchor 项目时遇到问题。
示例 HTML(简化版本)
<div id="foo">
<nav>
<ul>
<li>
<a href="#" class="active"><span>xxxxx</span></a>
<ul class="level2">
<li>
<a href="#"><span>xxxxx</span></a>
<ul class="level3">
<li><a href="#"><span>xxxxx</span></a></li>
<li><a href="#"><span>xxxxx</span></a></li>
<li><a href="#"><span>xxxxx</span></a></li>
<li><a href="#"><span>xxxxx</span></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</nav>
</div>
我尝试过的一些示例 jQuery(但失败并返回所有 anchor )
var menu = $('#foo');
menu.find( "nav ul:not(:last) a" ).each(function() {
console.log($(this).text() );
});
上面返回示例中的所有 6 个 anchor 。
我只想要 2 个 anchor (前 2 个级别,而不是最后一个)。
任何指示将不胜感激。
谢谢
最佳答案
试试这个 -
menu.find( "nav ul a" ).filter(function(){
return $(this).closest('ul').find('ul').length > 0;
}).each(function() {
console.log($(this).text() );
});
演示 -->
http://jsfiddle.net/a5BeV/
关于jQuery每个循环从除最后一级之外的所有级别获取选定的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16895321/