jQuery每个循环从除最后一级之外的所有级别获取选定的信息

标签 jquery

我在 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/

相关文章:

javascript - 选择另一个选择下拉列表中的一个选项时,如何显示选择下拉列表

javascript - 带有 Textarea 的 jQuery SELECT

jquery - 如何在 django 中创建嵌套多选树

javascript - 显示本地存储中的数组值

javascript - ajax 调用永远不会回发到服务器

javascript - 回调中的 setTimeout() 不起作用,为什么?

javascript - 让 Jquery 记住 attr() 和数据

javascript - 将选项元素附加到选择失败

jquery - 这个JavaScript怎么写呢?

javascript - Jquery ajax 响应呈现为 HTML 而不是 JS