0

我的 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 的锚点。第一个警报提供了正确的数据,即ACTIVE NODE,但第二个警报显示为undefined

我认为我正在遍历正确的路径和适当的元素。有人可以指出这里出了什么问题以及我还能做些什么来获取所需的数据。

提前致谢。

4

2 回答 2

1

尝试使用firstChild而不是childNode

var nameParent =  activeTab.parentNode.parentNode.previousSibling;
window.alert(nameParent.firstChild.innerHTML);
于 2013-02-07T06:34:29.587 回答
1

尝试这个

var nameParent =  activeTab.parentNode.parentNode;
window.alert(activeTab.innerHTML);
window.alert(nameParent.parentNode.children[0].children[0].innerHTML);

我强烈建议在您的项目中使用 jQuery,它提供了在 .find() 和 .children()、.parent 等 dom 元素之间轻松导航的方法,以获得更易读的代码。

谢谢

于 2013-02-07T06:40:46.970 回答