Jquery 查找包含文本的方法为:contains ,但是这个方法只是包含,有没有精确匹配的函数。 因为用这个会有个问题,就是如果出现2个div如下,没有办法精确找到为123的div。 <div>12345678</div>
 <div>123</div><script type="text/javascript">
        $().ready(function () {
            $("div:contains('123')").length
        });
        
    </script>

解决方案 »

  1.   

    $("div[innerHTML='123']")
    这样可以 。
      

  2.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>zell419</title>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
        <script>        $(document).ready(function(){
                alert(    $("div[innerHTML='123']").length);
                alert(    $("div[innerHTML='123']").eq(0).html());
            })
          
                </script>
    </head>
    <body>
     <div>12345678</div>
     <div>123</div>
    </body>
    </html>
    我这里弹出了123 .
      

  3.   

    $().ready(function () {
    alert($("div:contains('123')[innerHTML='123']").length)
    });
      

  4.   

    我这里是 0 和 null
      

  5.   

    嗯 ,是的 ,火狐下拿不到 。ie行 。
    4楼的ff ie 都可以 。
      

  6.   

    $("div:contains('123')[innerHTML='123']")
    这个好,兼容浏览器。
      

  7.   


    请问把div变成th 该怎么写啊?我试了一下 这方法div可以,th不行
      

  8.   


    $("th").filter(function(index){
        return $(this).text() == '123';
    }).effect("highlight",{},3000);