var tagName = "div"; var divElements = document.getElementByTagName(tagName); for(var oneElmelent in divElements){ //use oneElement to do something here. }
<script> window.onload=function(){ var a = document.getElementsByTagName("div"); for(x in a){ if(x!="length") alert(a[x].innerHTML); } } </script> <div>1</div> <div>2</div> <div>3</div>
<script> window.onload=function(){ var a = document.getElementsByTagName("div"); for(x in a){ if(x!="length") alert(a[x].innerHTML); } } </script> <div>1 </div> <div>2 </div> <div>3 </div>
但是hookee给的代码在Firefox中会多弹出2次undefine,不知为什么?在IE中正常
FF不止length这个属性. 你直接alert(x)就能看到.
for-in语句严格的迭代语句,用于枚举对象的属性,如果要遍历数组,数组必需是纯数组 var a = document.getElementsByTagName("div");在FF下的属性除了length,还有两个扩展的方法item, namedItem
遍历的是b的属性,当且仅当b是纯数组的情况才会遍历数组元素.
var tagName = "div";
var divElements = document.getElementByTagName(tagName);
for(var oneElmelent in divElements){
//use oneElement to do something here.
}
<script>
window.onload=function(){
var a = document.getElementsByTagName("div");
for(x in a){
if(x!="length") alert(a[x].innerHTML);
}
}
</script>
<div>1</div>
<div>2</div>
<div>3</div>
<script>
window.onload=function(){
var a = document.getElementsByTagName("div");
for(x in a){
if(x!="length") alert(a[x].innerHTML);
}
}
</script>
<div>1 </div>
<div>2 </div>
<div>3 </div>
你直接alert(x)就能看到.
var a = document.getElementsByTagName("div");在FF下的属性除了length,还有两个扩展的方法item, namedItem