搜尋

首頁  >  問答  >  主體

javascript - 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)。

应如何修改。

PHPzPHPz2907 天前519

全部回覆(1)我來回復

  • 怪我咯

    怪我咯2017-04-10 14:50:38

    在研究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
    });
    

    回覆
    0
  • 取消回覆