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)仍为原先元素集合的快照。