getElementsByTagName 与 $(élement)的区别

js 的 getElementsByTagName 和 jq的 $(élement) 都是取得dom中的元素,但它们也有一些区别,贴上代码:

var el = document.getElementsByTagName('p');
var p = '<p class="aa"></p>';
$('body').append(p);
console.log(el.length)   // p标签长度+1;

var el = $('p');
var p = '<p class="aa"></p>';
$('body').append(p);
console.log(el.length)   //p标签长度为dom原先长度

这样,可以看为,当dom添加元素时,getElementsByTagName集合自动更新元素数量,而$(élement)仍为原先元素集合的快照。

原文地址:https://www.cnblogs.com/damade/p/3948935.html