获取UL内的元素索引

Ste*_*orn 11 jquery

使用jQuery,我希望能够获得所包含的锚标记的HREF等于"#All"的li的索引.(在这种情况下,正确的结果将是3)

<div id="tabs">
    <ul>
        <li><a href="#CPU"><span>CPU</span></a></li>
        <li><a href="#Pickup"><span>Pickup</span></a></li>
        <li><a href="#Breakfix"><span>Breakfix</span></a></li>
        <li><a href="#All"><span>All</span></a></li>
    </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

我试过了:

$("#tabs ul").index($("li a[href='#All']"))
Run Code Online (Sandbox Code Playgroud)

......没有运气.我究竟做错了什么?

Pao*_*ino 27

这应该这样做:

var index = $("#tabs ul li").index($("li:has(a[href='#All'])"));
Run Code Online (Sandbox Code Playgroud)
  • 你选择了所有<ul>而不是<li>你想要的索引.
  • 您必须检查<li>元素:是否具有使用:has选择器所需的链接,否则匹配的元素将是<a>自身而不是<li>.

测试了上面的内容,它给出了正确的答案,3,因为索引是从0开始的.