js 的静态获取和动态获取

静态获取方法

document.getElementById
obj.querySelector
obj.querySelectorAll

动态获取方法(每次使用时候会回去重新获取一次)

obj.getElementsByClassName
obj.getElementsByTagName
document.getElementsByName

可以简单理解为静态获取只会在调用静态获取方法的地方获取一次结果,以后使用时就使用这次获取的结果,所以每次的结果都是相同的;
而动态获取则会在使用到的地方每次都重新调用动态获取方法,报以每次的结果可能不同;
看下面的例子:

//静态获取
var op = document.querySelectorAll("p");
var b = document.createElement("p");
box.appendChild(b);
//op的长度是1
alert(op.length);

//动态获取 每次使用会回去重新获取一次
var op = document.getElementsByTagName("p");
var b = document.createElement("p");
box.appendChild(b);
//op的长度是2
alert(op.length)
原文地址:https://www.cnblogs.com/itgezhu/p/10045241.html