循环内循环?

时间:2012-01-16 22:33:37

标签: javascript html xml dom

我在JavaScript中创建了一个循环,它读出我的节点名称和里面的值。

循环适用于第一个节点和第二个节点,但在其余节点上,它只是重复第二个节点的值。

所以输出结果如下:

 Name on nod 1 is title
 The value in the node is XML Content and Data

 Name on nod 2 is Author
 The value in the node is XML Content and Data

等等。

我应该在循环中创建一个循环吗?我可以多遍整个树吗?

if (xmlDoc.parseError != 0) {
    alert("Error Code: " + xmlDoc.parseError.errorCode + "\n"
        + "Error Reason: " + xmlDoc.parseError.reason + "\n"
        + "Error Line: " + xmlDoc.parseError.line)
}
root = xmlDoc.documentElement
rootList = root.childNodes
len = rootList.length

x = xmlDoc.getElementsByTagName("title")[0]
y = x.childNodes[0];

for (i = 0; i < len; i++) {
    j = i + 1
    document.write("Name on nod " + j + " is " + rootList.item(i).nodeName + "<br />")
    document.write(" value of the the nod is  " + y.nodeValue + "<br />" + "<br />");
}

2 个答案:

答案 0 :(得分:1)

y始终指向同一节点(y = x.childNodes [0])。您可能打算在循环的每次迭代中获得一个不同的节点。

答案 1 :(得分:0)

循环中i的日志值。如果你看到它重复,那么JavaScript for loop index strangeness可能会帮助你。