替代 getElementById()
css
很長一段時間以來,除了 jQuery 的選擇器以外,我一直在用下面這幾個方法獲取 dom 元素jquery
document.getElementById()
document.getElementsByClassName()
document.getElementsByTagName()
document.getElementsByName()
後來才發現 querySelector()
這個方法,這個方法跟 jquery 的獲取元素方法是同樣的。裏面填寫的是 css 選擇器。dom
好比,下面這幾個獲取的元素是同樣的:spa
// getElementById() 方式 document.getElementById('username'); // querySelector() 方式 document.querySelector('#username'); // jquery 方式 $('#username')[0] // 不理解這個能夠百度 `jquery 與 dom 相互轉換`
querySelector( css選擇器字符串 ) // 獲取第一個匹配元素 querySelectorAll( css選擇器字符串 ) // 獲取全部匹配元素
效果如圖:ssr
其獲取元素的方式跟 jquery 很像,但取到的元素並不同,jquery 取得的是 jquery 元素,而 querySelector()
獲取的是 dom 對象。code
關於選擇器,參閱: http://www.w3school.com.cn/cs...
好比,如今須要獲取 全部 class 以 text-
開頭的元素,也就是說包含 text-success
,text-danger
,text-warning
等元素,就這樣寫:對象
document.querySelectorAll("[class^='text-']")