jquery contains选择器如何实现精确匹配

<ul>
    <li>111</li>
    <li>222</li>
    <li>11</li>
    <li>22</li>
    <li>1</li>
    <li>2</li>
    <li>1</li>
    <li>2</li>
    <li>11</li>
    <li>22</li>
    <li>111</li>
    <li>222</li>
</ul>

我想要获得列表中首个值为1的<li>标签的索引值(即4)。

$("li").index($("li:contains('1')"))
这样获得的索引值是111的(即0)。

应如何修改。

阅读 6.6k
1 个回答

在研究wecenter问答程序, 路过~~ 看到这个问题,还特意用微博登陆4次(几次失败),来回答这个问题。
别问我姓名, 请叫我雷锋。

li:contains是模糊匹配,当然不精准...

代码如下:

<input type="button" id="btn" value="测试" />

$("#btn").click(function () { 
    var $option =$("ul li:contains('1')").map(function(){ 
        if ($(this).text() == "1") { return this; } 
    }); 

    alert($option.index());     //4
});
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题