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

js中的问题
<body>
  <a href="http://www.cctv.com/default.shtml"><span style="color: #000000">中央电视台</span></a><br />
  <a href="http://www.sina.com.cn"><span style="color: #000000">新 浪</span></a><br />
  <a href="http://www.baidu.com/"><span style="color: #000000">百 度</span></a><br />
  <a href="http://www.163.com/"><span style="color: #000000">网 易</span></a><br />
  <a href="http://www.china.com"><span style="color: #000000">中 华 网</span></a><br />
  <a href="http://www.google.cn"><span style="color: #000000">Google</span></a>
  <script language="javascript">
  var adr = "";
  for( n in document.links ) // 遍历超级链接集合
  {
  if( document.links.length == document.links[n] )// 忽略集合的第一个元素,因为表示集合的元素个数
  {
  continue; // 直接下一轮循环
  }
  // 提取链接名和网址,添加到字符串中
  adr += document.links[n].childNodes[0].childNodes[0].toString() + ":\t"+ document.links[n] + "\n";
  }
  alert( adr ); // 对话框输出显示
  </script>
</body>
问下,document.links[n].childNodes[0].childNodes[0].toString()什么意思?DOM但是还是不懂。前高手指点,谢谢!

------解决方案--------------------
document.links[n].childNodes[0]==SPAN

document.links[n].childNodes[0].childNodes[0]==SPAN里面的文本节点

这个遍历代码再firefox下出错了,firefox下会有length和item属性,而且在最后,比ie多length,并且获取文本内容要使用nodeValue,而不是toString
JScript code

  var adr = "";
  for(var i=0,j=document.links.length;i<j;i++){
  adr += document.links[i].childNodes[0].childNodes[0].nodeValue + ":\t"+ document.links[i] + "\n";
  }
 
  alert( adr ); // 对话框输出显示

------解决方案--------------------
探讨
能更详细点吗?我知道是数组的数组,但是能解析一下具体数组吗?