码迷,mamicode.com
首页 > Web开发 > 详细

关于对js属性的测试

时间:2015-04-10 19:39:39      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:

众所周知,DOM定义了一个Node接口(该接口由DOM中所有节点类型实现)。常见的nodeType有3种:1(元素节点)、2(属性节点)、3(文本节点)。我们可以通过获取元素来测试:

即:var oDiv=dcoument.getElementById(id); alert(oDiv.nodeType);//1
一切进行得很顺利也返回了自己想要的结果,接下来我们来看一段代码。对于刚接触不久的同学可能会范一种错误。
即:alert(oDiv.id.nodeType);又或者alert(oDiv.getAttribute(‘id‘).nodeType); //浏览器返回undefined
对js了解的人也就知道这样做错了。
正确的应该是alert(oDiv.attributes[0].nodeType);//返回2 索引0是指特性的位置
事实上oDiv.id与oDiv.getAttribute(‘id‘)返回的都是属性值而并非属性,是不是看出端倪了?
假设id="a",那么oDiv.id与oDiv.getAttribute(‘id‘)事实上就相当于"a".nodeType,但是我们真正想获取的是属性节点而不是值。所以oDiv.attributes[0].nodeType才会得到你想要的结果!

关于对js属性的测试

标签:

原文地址:http://www.cnblogs.com/yomtaaa/p/4415294.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!