var all = document.getElementsByTagName("a");
for (var i=0, max=all.length; i < max; i++) {
alert(x.innerHTML);
}
这个脚本的目的很明显:它试图遍历所有带有标签 name 的元素a
,并提醒每个元素的内容。
它运行不正确。
它工作正常,有一个元素,它会提醒它的内容,但是当有多个元素时,它开始undefined
为每个元素回显。
var all = document.getElementsByTagName("a");
for (var i=0, max=all.length; i < max; i++) {
alert(x.innerHTML);
}
这个脚本的目的很明显:它试图遍历所有带有标签 name 的元素a
,并提醒每个元素的内容。
它运行不正确。
它工作正常,有一个元素,它会提醒它的内容,但是当有多个元素时,它开始undefined
为每个元素回显。
你应该使用alert(all[i].innerHTML)
. x
未定义
您没有为x
. 试试这个:
var all = document.getElementsByTagName("a");
for(var i = 0, max = all.length; i < max; i++)
{
alert(all[i].innerHTML);
}
x
显然是未定义的。你需要有类似的东西:
var all = document.getElementsByTagName("a");
for (var i = 0, x; x = all[i++];)
alert(x.innerHTML);
但是alert
循环真的很烦人,我建议console.log
改用。
提示:在已经支持for...of的浏览器中,例如 Firefox,您可以简单地拥有:
var all = document.getElementsByTagName("a");
for (var x of all)
console.log(x.innerHTML);
当然,你不能在跨浏览器的网页上使用它,这只是在即将到来的 ES6 中知道的好东西——或者如果你要编写一个 Firefox 的扩展。