JavaScript:获取某个innerHtml文本的Tag名称

时间:2014-04-29 03:06:41

标签: javascript html innerhtml tagname

如果您能解决以下问题,我将非常感谢您。 假设我知道" Home"文本,但现在我想知道它在哪里。手段是在div标签或水平标签。你应该帮助我找到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>

3 个答案:

答案 0 :(得分:1)

让&#39;说你先通过&#39; a&#39;元素一个函数onclick。

<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.
}

 }

答案 1 :(得分:0)

以下内容将告诉您ID:

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

这将告诉您标签名称

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

答案 2 :(得分:0)

试试这个

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


    function serach(el){
    var a = el.parent('#ey');
    console.log(a)
    }