jquery选择器只选择第一个列表元素

时间:2012-11-05 04:20:23

标签: jquery

有人能找到我的错误吗?我有以下HTML列表

 <ul id="left-help-menu">
        <li><a href=#">My Library</a>
            <ul class="left-menu-sub">
                <li id="1">A</li>
                <li id="2">B</li>
                <li id="3">C</li>
                <li id="4">D</li>
                <li id="5">E</li>

            </ul>

        </li>
      </ul>

和以下jquery代码

 $(document).ready(function() {
$("#left-help-menu li li a").click(function() {
    var vid = $("#left-help-menu li li").attr("id");
            });
   });

出于某种原因,这个选择器只是选择第一个li标签(当我通过在页面上粘贴'vid'来测试它时,它总是给我'1')。这是为什么?

1 个答案:

答案 0 :(得分:1)

这就是attr() getter的工作方式。它适用于第一个匹配的元素。

如果您想要一个包含所有匹配的id属性的数组......

var vid = $("#left-help-menu li li").map(function() { return this.id; }).get();