(getElementBy**)與 querySelector(querySelectorAll) 的區別


1. 通過類似於 document.getElementByTagName('div') 這種方式獲取到的類數組,無法通過 forEach 進行遍歷(可以通過for循環);而通過document.querySelectorAll(div)可以通過forEach 進行遍歷。

(1)首先看 getElementByTagName 的這種情況


網頁表現

(2)然后看 querySelectorAll 的這種情況


網頁表現

2. 通過 getElementBy** 獲取這種方式獲取到的數組是動態的;而 querySelectorAll 這種方式獲取到的是靜態的(但是如果是 querySelectorAll 獲取到的dom內部發生的變化,依舊是會動態改變的)

(1)首先我們看 getElementBy** 這種方式


網頁表現

(2)我們可以看到盡管沒有重新獲取dom,liArr還是檢測到了新加入的 li 標簽。接下來我們看一下通過 querySelectorAll 這種方式獲取到的dom列表。


網頁表現

(3)接下來,我們將一個新的標簽放到第一個li標簽的內部。


網頁表現

可以發現,通過 querySelectorAll 獲取到的dom並不是絕對靜態的,添加到這些dom內部的變化,依舊可以檢測到。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM