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 ); // 对话框输出显示
------解决方案--------------------