我的 HTML 看起来像
<li value="0">
<a href="#">
<span>DATA TO GET</span><![if gt IE 6]>
</a><![endif]><!--[if lte IE 6]><table><tr><td><![endif]-->
<ul>
<li value="0">
<a onclick="return showPane('SomePane',this)" href="#">ACTIVE NODE</a>
</li>
</ul>
此 html 是使用 xsl 生成的。现在我想使用javascript获取span标签内的数据。我尝试了以下方法:
var nameParent = activeTab.parentNode.parentNode.previousSibling;
window.alert(activeTab.innerHTML);
window.alert(activeTab.parentNode.parentNode.previousSibling.childNode);
这里变量activeTab被传递包含文本ACTIVE NODE的 anchor 。第一个警报给出了正确的数据,即ACTIVE NODE,但第二个警报显示未定义。
我认为我正在走正确的道路和适当的元素。有人可以指出这里出了什么问题以及我还能做些什么来获取所需的数据吗?
提前致谢。
最佳答案
试试这个
var nameParent = activeTab.parentNode.parentNode;
window.alert(activeTab.innerHTML);
window.alert(nameParent.parentNode.children[0].children[0].innerHTML);
我强烈建议在你的项目中使用 jQuery,它提供了在 dom 元素之间轻松导航的方法,例如 .find() 和 .children()、.parent 以获得更具可读性的代码。
谢谢
关于Javascript根据层次结构获取节点内部文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14744948/