我有xml如下:
<a>
<a>
<d>0</d>
</a>
<a>
<d>99</d>
</a>
</a>
这是我的代码javascript。
var a = document.getElementsByTagName("a");
var d = a[1].getElementsByTagName("d")[0].firstChild.data;
document.write("d = " + d);
结果为d = 0
,但我的预期结果为d = 99
。
你能帮我吗?
我只想输入索引1 (a[1])
我不想输入索引2.
答案 0 :(得分:1)
您可以使用DOMParser函数创建xmlDoc,而不是从中读取所需的值。问题出在您的元素选择器中。
var text = "<a> <a> <d>0</d></a><a><d>99</d></a></a>"
parser = new DOMParser();
xmlDoc = parser.parseFromString(text,"text/xml");
var dNode = xmlDoc.querySelectorAll('a a:last-child d')[0];
var dNodeValue = dNode.innerHTML;
console.log(dNodeValue);
// 99
答案 1 :(得分:0)
所以基本上你正在寻找a[2]
:
<a> <-- a[0]
<a> <-- a[1]
<d>0</d>
</a>
<a> <-- a[2]
<d>99</d>
</a>
</a>
以下是更新:
var a = document.getElementsByTagName("a");
var d = a[2].getElementsByTagName("d")[0].firstChild.data;
^---- this is what changed
document.write("d = " + d);