querySelectorAll 返回的是一个 Static Node List,而 getElementsBy 系列的返回的是一个 Live Node List. 看看下面这个经典的例子 [5]: // Demo 1 var ul = document.querySelectorAll('ul')[0], lis = ul.querySelectorAll("li"); for(var i = 0; i < lis.length ; i++){ ul.appendChild(d…
最近有人问到querySelectorAll 方法相比 getElementsBy 系列方法区别,一时没想起来说些什么,今天查下文档,总结一下它们的区别,以便自己理解. 1. W3C 标准querySelectorAll 属于 W3C 中的 Selectors API 规范 [1].而 getElementsBy 系列则属于 W3C 的 DOM 规范 [2]. 2. 浏览器兼容querySelectorAll 已被 IE 8+.FF 3.5+.Safari 3.1+.Chrome 和 Opera…
querySelector 和  querySelectorAll 相比下面这些方法有什么区别? getElementsByTagName getElementsByClassName getElementsByName 1. W3C 标准 querySelectorAll 属于 W3C 中的 Selectors API 规范 .而 getElementsBy 系列则属于 W3C 的 DOM 规范 . 2. 浏览器兼容 querySelectorAll 已被 IE 8+.FF 3.5+.Safa…
 轉載出處: http://www.zhihu.com/question/24702250 querySelectorAll 相比下面这些方法有什么区别? getElementsByTagName getElementsByClassName getElementsByName 1. W3C 标准querySelectorAll 属于 W3C 中的 Selectors API 规范 [1].而 getElementsBy 系列则属于 W3C 的 DOM 规范 [2]. 2. 浏览器兼容query…
感谢 http://www.zhihu.com/question/24702250 简生 的回答 1. W3C 标准 querySelectorAll 属于 W3C 中的 Selectors API 规范.而 getElementsBy 系列则属于 W3C 的 DOM 规范. 2. 浏览器兼容 querySelectorAll 已被 IE 8+.FF 3.5+.Safari 3.1+.Chrome 和 Opera 10+ 良好支持 . getElementsBy 系列,以最迟添加到规范中的 ge…
"querySelector 属于 W3C 中的 Selectors API 规范 .而 getElementsBy 系列则属于 W3C 的 DOM 规范" 1.区别 getXXXByXXX 获取的是动态集合,querySelector获取的是静态集合. 简单的说就是,动态就是选出的元素会随文档改变,静态的不会,取出来之后就和文档的改变无关了. <ul> <li>aaa</li> <li>ddd</li> <li>…
返回文档中匹配指定 CSS 选择器的一个元素. 虽然IE8中没有getElementsByClassName()但可以用querySelector()代替 注意: querySelector() 方法仅仅返回匹配指定选择器的第一个元素.如果你需要返回所有的元素,请使用 querySelectorAll() 方法替代. querySelector 获取文档中 class="example" 的第一个元素: document.querySelector(".example&quo…
 Document 对象 实例 获取文档中 id="demo" 的元素: document.querySelector("#demo"); <!DOCTYPE html><html><head><meta charset="utf-8"><title>菜鸟教程(runoob.com)</title></head><body> <p id=&quo…
文章简介:querySelector()方法接受一个CSS查询并返回匹配模式的第一个子孙元素,如果没有匹配的元素则返回null. querySelector()方法接受一个CSS查询并返回匹配模式的第一个子孙元素,如果没有匹配的元素则返回null.请看下面的例子: //获取body元素 var body = document.querySelector("body"); //获取ID为myDiv的元素 var myDiv = document.querySelecotr("#…
最近在做的项目中,使用querySelectorAll获取了同class名的元素后,绑定onmouseover事件和onmouseout后,多次在几个元素上移入移出操作时,控制台出现了报错的问题,最后解决方案时采用了getElementsBy系列的方法. 在查阅网络上的几篇相关的文章后,可以这样简单的解释两者的区别: getElementsBy系列返回值是一个动态的HTMLCollection对象集合,每一次调用 li 都会重新对文档进行查询: querySelector系列是一个静态的Node…