导航dom javascript特定标记

时间:2010-10-29 18:34:34

标签: javascript dom

这是DOM结构:

<div id="some">
 <a href="#" style="color:red;">NOTHIS</a>
 <a href="#" style="color:red;">NOTHIS</a>
 <h3 class="myclass"><a href="#" style="color:red;">HELLO</a></h3>
</div>

如何在javascript中获取HELLO的值?

编辑:忘了,我在'some'里面有其他锚标签,所以我想严格要求h3里面的锚标签

EDIT2:知道了:

var n = document.getElementById('some').getElementsByTagName('h3')[0].getElementsByTagName('a')[0].innerHTML;

全部谢谢!

5 个答案:

答案 0 :(得分:5)

var linkText = document.getElementById('some').getElementsByTagName('a')[0].innerHTML;

或者如果你有jQuery

var linkText = $('#some').find('a').html();

答案 1 :(得分:1)

var anchor = document.getElementById('some').getElementsByTagName('a')[0],
    yourText = anchor.innerText || anchor.textContent;

它也是跨浏览器。 http://www.quirksmode.org/dom/w3c_html.html

答案 2 :(得分:0)

从您的ID传播DOM。

var s = document.getElementById('some').getElementsByTagName('h3')[0].getElementsByTagName('a')[0].innerHTML;

我会自己在a上添加ID。

答案 3 :(得分:0)

var shouldEqualHello = document.getElementById('some').getElementsByTagName('h3')[0].getElementsByTagName('a')[0].innerHTML;

编辑:修复

答案 4 :(得分:0)

使用javascript获取单个dom元素,您需要一种方法来唯一标识它。理想的方法是给你的元素一个唯一的id。

<a id="myAnchor" href="#" style="color:red;">HELLO</a>

然后您可以直接在脚本中获取引用。

var myAnchor = document.getElementById('myAnchor');

或者如果您确保您的元素是“某些”ID中唯一的锚元素,则可以执行

var someDiv = document.getElementById('some');
var anchors = someDiv.getElementsByTagName('a'); // returns a list of anchor elements
var myAnchor = anchors[0]; // get the first element in the list

但是既然情况并非如此,那么你将不得不再次通过dom。

var someDiv = document.getElementById('some');
var headers = someDiv.getElementsByTagName('h3');
var myH3 = headers[0];
var anchors = myH3 .getElementsByTagName('a'); // returns a list of anchor elements
var myAnchor = anchors[0]; // get the first element in the list
从那里你可以看到带有

的标签之间的东西
alert(myAnchor.innerHTML);

alert(myAnchor.firstChild.nodeValue);

或此处已提到的其他方法。