search

Home  >  Q&A  >  body text

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

<code><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>

</code>

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

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

应如何修改。

PHPzPHPz2904 days ago518

reply all(1)I'll reply

  • 怪我咯

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

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

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

    代码如下:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    <code><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

    });

    </code>

    reply
    0
  • Cancelreply