1

如果您能帮助我解决以下问题,我将不胜感激。假设我知道“Home”文本,但现在我想知道它在哪里。意味着它是在 div 标签中还是在 level 标签中。在这里你应该帮我找到 div 标签,它的 id 是“ey”。

<div id="ey">
<ul>
<li>
  <a href="korstone.htm">Home</a>
</li>
</ul>

<ul>
<li>
  <a href="#">About us</a>
</li>
</ul>
</div>
4

3 回答 3

1

假设您首先在单击时传递 'a' 元素 ta 函数。

<a onclick='findWhereIAm(this)'>blah blah</a>

然后,您可以使用 parentNode 属性找出它的内容。您可以使用循环沿着父母链向上移动。

function findWhereIAm(element){
  var parent=element.parentNode;
  while(parent.nodeName!="BODY"){
      if(parent.id=='whatever value you are checking'){
          //do your stuff
         alert(parent.id);

         //break or you'll keep looping through
         break;
     }
     parent=parent.parentNode.
}
} 

编辑

var as=document.getElementsByTagName('a');
var element;
for(var i=0;i<as.length;i++){
     if(as[i].innerHTML=='Home'){
         element=as[i];
         break;
      }
}

 if(element){
      var parent=element.parentNode;
      while(parent.nodeName!="BODY"){
         if(parent.id=='whatever value you are checking'){
          //do your stuff
         alert(parent.id);

         //break or you'll keep looping through
         break;
     }
     parent=parent.parentNode.
}

 }
于 2014-04-29T03:15:24.207 回答
0

尝试这个

<a onclick='search(this)'>home</a>


    function serach(el){
    var a = el.parent('#ey');
    console.log(a)
    }
于 2014-04-29T03:30:11.493 回答
0

下面会告诉你ID:

$("*:contains('Home')").closest("div").prop("id")

这将告诉您标签名称

$("*:contains('Home')").closest("div").prop("tagName")
于 2014-04-29T03:13:30.860 回答