js 的靜態獲取和動態獲取
阿新 • • 發佈:2018-11-30
靜態獲取方法
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)