jQuery扫描具有特定类的所有项的UL结构

jQuery扫描具有特定类的所有项的UL结构,jquery,traversal,Jquery,Traversal,我的ul>li结构类似于以下内容: <ul id="node"> <li><a data-name="One">One</a> <ul> <li><a data-name="Two">Two</a></li> <li><a class="me" data-name="Three">Three&l

我的ul>li结构类似于以下内容:

<ul id="node">
    <li><a data-name="One">One</a>
        <ul>
            <li><a data-name="Two">Two</a></li>
            <li><a class="me" data-name="Three">Three</a>
                <ul>
                    <li><a data-name="Four">Four</a></li>
                    <li><a class="me" data-name="Five">Five</a></li>
                </ul>
            </li>
        </ul>
    </li>
</ul>
新发行:

var items = [];
$('ul#node a[data-name="Three"]').parent().children().find('a.me').each(function(){
    items.push($(this).data('name'));
});
如果我想从
Three
开始,只知道要从中遍历的
data name
属性是
Three
,并且只从那里向下遍历-即,结果只会是
Five

var items = $('ul#node a.me').map(function(){
   return $(this).attr('data-name');
});

新发行:

var items = [];
$('ul#node a[data-name="Three"]').parent().children().find('a.me').each(function(){
    items.push($(this).data('name'));
});

而且…

您可以使用
map
方法

var items = $('ul a.me').map(function(){
    return this.dataset.name
}).get()

我会使用$(this).data(“name”)+1,不过别忘了调用items.get()来获取实际数组。@aquinas谢谢,我错过了这个。
var items = $('ul a.me').map(function(){
    return this.dataset.name
}).get()
$('a.me').each (function () { alert ( $(this).attr('data-name')); } );