日期:2014-05-16  浏览次数:20296 次

解释一段代码
<html>
<head>
<script type="text/javascript" src="/example/xdom/loadxmldoc.js"> 
</script>
</head>
<body>

<script type="text/javascript">
xmlDoc=loadXMLDoc("/example/xdom/books.xml");

var x=xmlDoc.getElementsByTagName('book');
var newel,newtext

for (i=0;i<x.length;i++)
  {
  newel=xmlDoc.createElement('edition');
  newtext=xmlDoc.createTextNode('First');
  newel.appendChild(newtext);
  x[i].appendChild(newel);
  }

//Output all titles and editions
var y=xmlDoc.getElementsByTagName("title");
var z=xmlDoc.getElementsByTagName("edition");
for (i=0;i<y.length;i++)
  {
  document.write(y[i].childNodes[0].nodeValue);
  document.write(" - Edition: ");
  document.write(z[i].childNodes[0].nodeValue);
  document.write("<br />");
  }
</script>
</body>
</html>
结果
Harry Potter - Edition: First
Everyday Italian - Edition: First
Learning XML - Edition: First
XQuery Kick Start - Edition: First

edition为什么变成Edition了childNodes[0]这里的[0]去掉就出现错误,不知道原因

------解决方案--------------------
edition这是个元素

Edition看这句document.write(" - Edition: ");

childNodes不加[0]返回的是节点列表