Ada*_*ner 6 javascript jquery dom
我问的原因是因为我想在我拥有的这个巨大的多维数组中存储一堆DOM节点.
成本:占用内存空间.问题是空间有多大,这取决于我是获得引用还是实际的DOM节点.
好处:1)它将使我的代码更简单.2)我可以避免遍历,而只是从我的数组中引用DOM节点.
思考?
简而言之:
JavaScript:
HTMLCollection和NodeList包含对 DOM 节点的引用。它们看起来并不是很大的物体。

直播与非直播
来自MDN:
在某些情况下,NodeList 是一个实时集合,这意味着 DOM 中的更改会反映在集合中。例如,Node.childNodes 已上线:
Run Code Online (Sandbox Code Playgroud)var parent = document.getElementById('parent'); var child_nodes = parent.childNodes; console.log(child_nodes.length); // let's assume "2" parent.appendChild(document.createElement('div')); console.log(child_nodes.length); // should output "3"在其他情况下,NodeList 是静态集合,这意味着 DOM 中的任何后续更改都不会影响集合的内容。document.querySelectorAll 返回静态 NodeList。

jQuery
jQuery 对象是一个围绕一个或多个 DOM 元素的类似数组的包装器。要获取对实际 DOM 元素(而不是 jQuery 对象)的引用,您有两种选择。第一种(也是最快的)方法是使用数组表示法:
Run Code Online (Sandbox Code Playgroud)$( "#foo" )[ 0 ]; // Equivalent to document.getElementById( "foo" )第二种方法是使用 .get() 函数:
Run Code Online (Sandbox Code Playgroud)$( "#foo" ).get( 0 ); // Identical to above, only slower.您还可以调用不带任何参数的 .get() 来检索真实的 DOM 元素数组。
| 归档时间: |
|
| 查看次数: |
757 次 |
| 最近记录: |