博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DOM疑惑点整理(一)
阅读量:6293 次
发布时间:2019-06-22

本文共 1124 字,大约阅读时间需要 3 分钟。

Nodelist和HTMLCollection

定义区别

Nodelist是多种类型节点的集合,HTMLCollection是元素类型节点的集合。

API区别

返回Nodelist的API:Node.childNodes 和 document.querySelectorAll

返回HTMLCollection的API:
Node.children、
document.getElementsByTagName、
document.getElementsByTagNameNS、
document.getElementsByClassName

属性、方法区别

两者共有:

length: NodeList 对象中包含的节点个数.
item (id):返回NodeList对象中指定索引的节点,如果索引越界,则返回null.
HTMLCollection特有方法:
namedItem(name): 如果文档是 HTML 文档,该方法会首先查询带有匹配给定名称的 id 属性的节点,如果不存在匹配的 id 属性,则查询带有匹配给定名称的 name 属性的节点。当查询 HTML 文档时,该方法对大小写不敏感。

非数组

两者都类数组,但非数组,于是不能使用Array的方法,但可把两者先转换为数组。

function convertToArray(args){        var array = null;        try{            array = Array.prototype.slice.call(args);             //ES6可以如下写            //array = Array.from(args);        }catch(ex){                                         array = new Array();                   //针对IE8之前            for(var i=0,len=args.length;i

getAttribute

一般利用getAttribute访问元素的style和onclick属性都会返回字符串类型的相应代码。

但是在IE7及之前版本用getAttribute访问style返回一个对象,访问onclick返回函数。
IE7及之前版本,用setAttribute设置style属性,不会有任何效果。
不建议用getAttributeNode、setAttributeNode,使用getAttribute、setAttribute和removeAttribute更方便。

转载地址:http://llcta.baihongyu.com/

你可能感兴趣的文章
webpack是如何实现前端模块化的
查看>>
TCP的三次握手四次挥手
查看>>
关于redis的几件小事(六)redis的持久化
查看>>
webpack4+babel7+eslint+editorconfig+react-hot-loader 搭建react开发环境
查看>>
Maven 插件
查看>>
初探Angular6.x---进入用户编辑模块
查看>>
计算机基础知识复习
查看>>
【前端词典】实现 Canvas 下雪背景引发的性能思考
查看>>
大佬是怎么思考设计MySQL优化方案的?
查看>>
<三体> 给岁月以文明, 给时光以生命
查看>>
Android开发 - 掌握ConstraintLayout(九)分组(Group)
查看>>
springboot+logback日志异步数据库
查看>>
Typescript教程之函数
查看>>
Android 高效安全加载图片
查看>>
vue中数组变动不被监测问题
查看>>
3.31
查看>>
类对象定义 二
查看>>
收费视频网站Netflix:用户到底想要“点”什么?
查看>>
MacOS High Sierra 12 13系统转dmg格式
查看>>
关于再次查看已做的多选题状态逻辑问题
查看>>