没看我回复??
<html>
<head>
    <script type="text/javascript"   language="javascript">
      function show(){
          //取得文档所有的<a href>链接
          var a=document.getElementsByTagName("a");   
          var p; //定义父节点
                    for(var i=0;i<a.length;i++){             
                        if(a[i].innerHTML=="22222222"){                 
                            p=a[i].parentElement?a[i].parentElement:a.parentNode;//获取父亲节点
                            p.style.display="none";//隐藏div    
                        }
                    }
                }
  </script>
</head>
 
<body onload="show()">
    <div id="as">
        <a href="aaaaa" id="as">11111111</a>
    </div>
    <div id="as1">
        <a href="eeeee" id="as1">22222222</a>
    </div>
    <div id="as2">
        <a href="aaaaa" id="as2">33333333</a>
    </div>
    <div id="as3">
        <a href="eeeee" id="as3">44444444</a>
    </div>
</body>
</html>

解决方案 »

  1.   

    to:showbo 我吧body内容改了一下,你这样写只能隐藏22222222
    不能把 “链接2:”这个也隐藏。 
    想隐藏那个 DIV。
      

  2.   

    看错了,不好意思,你的html代码也太不规则了吧???你隐藏tr行不就行了??
    <html>
    <head>
        <script language="javascript">
          function show(){
                var list=document.getElementsByTagName("div");
                //alert("div标签个数:"+list.length);   //为什么这里取出的个数是8?
                //if (objs!=null){//=====可以不用要了,getElementsByTagName返回的都是数组,只是有没有元素而已
                    //for(var i=0;i<objs.length;i++){
                        var a=document.getElementsByTagName("a");  //取出<a href的元素
                        //if (a!=null){
                            for(var j=0;j<a.length;j++){
                                //alert(a[j].innerHTML);
                                if(a[j].innerHTML=="22222222"){    //如果<a>的值是"22222222",隐藏这个 DIV
    //a[j].parentNode=td,a[j].parentNode.parentNode=tr
                                    a[j].parentNode.parentNode.style.display="none";
                                }
                            }
                       // }
                   // }
               // }
            }
      </script>
    </head>
     
    <body onload="show()">
        <table>
                <tr>
                    <td>链接1:</td>
                    <td>
                        <a href="aaaaa" id="as">11111111</a>
                    </td>
                </tr>
                <tr>
                    <td>链接2:</td>
                    <td>
                        <a href="eeeee" id="as1">22222222</a>
                    </td>
                </tr>
                <tr>
                    <td>链接3:</td>
                    <td>
                        <a href="aaaaa" id="as2">33333333</a>
                    </td>
                </tr>
                <tr>
                    <td>链接4:</td>            
                    <td>
                        <a href="eeeee" id="as3">44444444</a>
                    </td>
                </tr>
        </table>
    </body>
    </html>
      

  3.   

    谢谢,能帮我看看我写的那里错了吗?
    我这只是简化写了个网页,实际我要修改的网页比这个复杂多了,
    其中要去掉的“22222222”有许多
    我不能确定每个要去掉的都文字都向上找几层就到<tr>或者<div>标签了。
      

  4.   

    你的DIV不是命名不是有规律吗?
    这个很好办啊!
      

  5.   

    XHTML 结构问题  JS掉用出现问题   就第一个问题  解释器<div>后面出现<tr>解析器解析出错<body onload="show()">
        <table>
            <div id="as">
                <span>链接1:</span>
        <span><a href="aaaaa" id="as">11111111</a></span>
            </div>
       
        </table>
    </body>结构改成这样就能得到正确的结果  
      

  6.   

    你使用下面的函数找父亲节点,直到找到你要找的父亲节点function FindParentNode(currentNode)
    {
      var p=currentNode.parentNode;
      while(p.tagName!="你想要的父亲节点")//这里条件可以自己改
      {
         p=p.parentNode;//获取父亲的父亲
      }
      return p;
    }
      

  7.   

    function FindParentNode(currentNode)
    {
      var p=currentNode.parentNode;
      //加个p判断,防止访问到html节点还没找到你要的节点,防止出错
      while(p&&p.tagName!="你想要的父亲节点")//这里条件可以自己改
      {
         p=p.parentNode;//获取父亲的父亲
      }
      return p;
    }
      

  8.   

    lz在ie看看
    alert(document.body.innerHTML);
    就知道为什么是8个了tr这样嵌在div中ie会发傻
      

  9.   

    看看这个能不能帮到你<html>
    <head>
        <script language="javascript">
          function show(){
                var list=document.getElementsByTagName("div");
                alert("div标签个数:"+list.length);   //为什么这里取出的个数是8
        var links = document.getElementsByName("link");
        for (var i = 0; i < links.length; i++)
        {
    if (links[i].innerHTML == "22222222")
    {
    links[i].parentNode.parentNode.style.display = "none";
    }
        }
            }
      </script>
    </head>
     
    <body onload="show()">
            <div id="as">
                <span>链接1:</span>
        <span><a href="aaaaa" id="as" name="link">11111111</a></span>
            </div>
            <div id="as1">
                <span>链接2:</span>
                <span><a href="eeeee" id="as1" name="link">22222222</a></span>
            </div>
            <div id="as2">
                <span>链接3:</span>
                <span><a href="aaaaa" id="as2" name="link">33333333</a></span>
            </div>
            <div id="as3">
                <span>链接4:</span>            
                <span><a href="eeeee" id="as3" name="link">44444444</a></span>
            </div>
    </body>
    </html>