浏览器兼容性测试小记-DOM篇(二)
作者:网络转载 发布时间:[ 2014/5/29 14:41:51 ] 推荐标签:浏览器 兼容性测试
1、DOM中的所有节点都继承自Node类型,IE9之前将DOM节点作为COM对象来实现;每个DOM节点都有一个nodeType属性来表明节点类型,总共有12个类型:
1 Node.ELEMENT_NODE
2 Node.ATTRIBUTE_NODE
3 Node.TEXT_NODE
4 Node.CDATA_SECTION_NODE
5 Node.ENTITY_REFERENCE_NODE
6 Node.ENTITY_NODE
7 Node.PROCESSING_INSTRUCTION_NODE
8 Node.COMMENT_NODE
9 Node.DOCUMENT_NODE
10 Node.DOCUMENT_TYPE_NODE
11 Node.DOCUMENT_FRAGMENT_NODE
12 Node.NOTATION_NODE
|
其中,1、2、3、9、10、11常用,要确定某种元素类型可以使用以下方法:
elementNode.nodeType === Node.ELEMENT_NODE // 非IE,IE9以下无法访问Node类型
elementNode.nodeType === 1 // 所有浏览器
2、以下方法返回的都是原生的NodeList对象
1 elementNode.childNodes
2 document.getElementsByName()
3 document.getElementsByClassName()
4 document.getElementsByTagName() //返回HtmlCollection对象,与NodeList类似,多了一个namedItem('name')方法
5 document.getElementsByTagNameNS()
NodeList是一种类数组对象,有length属性,但并不是Array的实例,访问NodeList中的节点对象可使用item方法或[]语法。每次访问NodeList对象实际上都是重新进行一次查询,因此通常可以将NodeList转化为数组对象。
1 function nl2array(nodeList){
2 var array = null;
3 try{
4 array = Array.prototype.slice.call(nodeList, 0);// FF
5 }catch(){
6 array = [];
7 for (var i = 0, len = nodeList.length; i < len; i++){
8 array.push(nodeList[i]);
9 }
10 }
11 return array;
12 }
|
相关推荐

更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11