獲取元素樣式的基礎知識,特地補充一些遺漏的地方

憤怒的葡萄發表於2018-01-04

關於獲取元素樣式的基礎知識,特地補充一些遺漏的地方。

今天同事問了這樣一個問題,有什麼辦法可以獲取所有帶有background屬性的元素節點?

憑藉經驗直接脫口而出使用css3的 querySelectorAll() 根據類似正則的東西去找document.querySelectorAll(`style*=”background”`)’ 擔心有問題還特地去一家網站去測試,結果也確實獲取到了。

語句給別人發過去之後別人說不對獲取不到,後來經過排查他要獲取的所有的樣式包括內外聯,使用querySelectorAll()只是可以根據元素的內聯樣式去尋找,但是卻找不到外聯樣式。

後來找到了一個這樣的方法 document.getComputedStyle(element,null)[styleName] 這樣可以獲取到當前元素正在使用的樣式規則,自然也就包含了內外聯, 只是這樣的方法不能夠像querySelectorAll()這樣 可以查詢到所有符合的元素來,這就尷尬了……

相關文章