比如
    <div id="code1">中国</div>
    <div id="adeg">美国</div>
    <div id="dg3g">英国</div>
    <div id="gjr4">德国</div>
    <div id="bkjt">法国</div>
我要怎么根据“德国”得到其相应的id=gjr4 ?

解决方案 »

  1.   

    try : $("div:contains('德国')").eq(0).attr("id");但是contains不是精确匹配 。
      

  2.   

        笨方法遍历吧
     
       $("div").each(function() { 
        if($(this).html()=="德国"){alert($(this).attr("id"))}
        });
      

  3.   

    我页面上有很多这种div  遍历的话有可能会上千次。所以遍历不可取。就是想找一种不用遍历的。
      

  4.   

    用jquery 选择符写的再简洁,本质上也是遍历,jquery是用来提高程序员效率的,不是提高运行效率的
    而且运行几知次的遍历就是毫秒级。
    参考一下这个
    http://topic.csdn.net/u/20120327/14/2efcc425-dcf8-429d-bc3d-8366e324b354.html
      

  5.   

    <!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>
        <script src="ec/jquery/jquery-1.6.4.min.js" type="text/javascript"></script>
        <script type="text/javascript">
            function test(only) {
                var $objs = $("div[id]:contains('德国')");
                var arr = [];
                $objs.each(function () {
                    if (only && $(this).text().length > 2)
                        return false;
                    arr.push($(this).attr("id"));
                });
                alert(arr);
            }
        </script>
    </head>
    <body>
        <div id="code1">中国</div>
        <div id="adeg">美国</div>
        <div id="dg3g">英国</div>
        <div id="gjr4">德国</div>
        <div id="bkjt">法国</div>
        <div id="Div1">德国1</div>
        <div id="Div2">德国2</div>
        <div id="Div3">德国3</div>
        <div id="Div4">德国4</div>
        <input type="button" value="取得包含德国的 div 的id" onclick="test(false)" />
        <input type="button" value="取得只包含德国的 div 的id" onclick="test(true)" />
    </body>
    </html>至于遍历的问题, 你不用置疑楼上的说法。 jquery只是一个工具, 不是神仙。木乃伊包装成美女了, 本质还是木乃伊
      

  6.   

    我这里能得到gjr4
    这个应该只能用循环遍历 。
    原生的话就
    document.getElementById
    document.getElementsByName
    document.getElementsByTagName
    获取元素 。
      

  7.   

    问题已解决,多谢楼上朋友的代码。  
    其实我的页面时代码时这样的。
    <div id="top"
        <div id="code1">中国</div>
        <div id="adeg">美国</div>
        <div id="dg3g">英国</div>
        <div id="gjr4">德国</div>
        <div id="bkjt">法国</div>
    </div>
    这样得到的数据就是 array[0]="top",array[1]=gjr4
    原来 在外部套一个DIV 也会在这里影响到 $("div[id]:contains('德国')");
    所以我要的ID 永远都只会在这个数组的第2个下标值。