留校_察看
2015-05-06 08:23关于getElementsByTagName获取的DOM对象问题
<ul id="a">
<li><a href="a1">a1</a></li>
<li><a href="a2">a2</a></li>
<li><a href="a3">a3</a></li>
</ul>
<script>
(function(){
var a = document.getElementById('a').getElementsByTagName('a');
var b = 0;
for(var c=0; c < a.length; c++){
alert(a[c].innerHTML + " "+b);
b++;
}
for(var i in a){
alert(a[i].innerHTML + " "+b);
b++;
}
}())
</script>
使用for是理想的结果,但是使用for in却多输出几次,最后结论是for in在遍历DOM对象的时候,并不是说下标值就是当前对象,而A对象当中还有其它特殊的,在IE下会先弹undefined,再弹1 2 3,在火狐和CR下,先弹123再弹两次undefinde,详细求解释?
使用fon in我能想到的就是节点属性和文本属性两个东西,A对象包含两个属性。所以要多弹几次。
试问,我的JS代码该放哪儿?这也太那个了吧。。。。点了插入代码有个毛线用?
- 点赞
- 回答
- 收藏
- 复制链接分享
1条回答
为你推荐
- 关于javascript Dom操作 for循环只循环一次的问题?
- html5
- css
- javascript
- ecmascript
- 1个回答
- PHP从SOAP返回对象
- php
- 1个回答
- 文档对象模型函数,用于从数据库中获取一系列链接并逐个处理它们
- php
- 1个回答
- 基于Jitsi的网页视频通话项目
- html5
- javascript
- node.js
- tomcat
- eclipse
- 2个回答
- web service服务端接收到数据,做了处理,客户端接收不到返回值
- web service
- 0个回答
换一换