document.getElementsByTagName()方法的返回值为nodelist,并非array,因此不能像循环数组那样循环nodelist,这样数据会出现问题,需要把nodelist转换为数组,方法如下。
var links = document.getElementsByTagName("a");
var anchors = null; //数组
try
{
anchors = Array.prototype.slice.call(links);
}
catch (e) { //兼容ie
anchors =
new Array();
for (var i = 0; i < links.length; i++)
{
anchors.push(links[i]);
}
}
详细出处参考:http://www.jb51.net/article/24182.htm