為什麼CSS 樣式屬性在getElementById().style 時仍為空
當您使用getElementById() 擷取HTML 元素時,存取HTML 元素時,存取HTML 元素時,存取HTML 元素時,存取其儘管存在像#map {display: block} 這樣的CSS 樣式規則,但透過element.style.display 的style 屬性通常會傳回空值。
出現此行為是因為 element.style 僅明確反映內嵌樣式設定在 HTML 文件中的元素上。如果沒有定義內聯樣式,則 element.style 將為空。
要存取元素的實際計算樣式(其中包含內聯樣式和 CSS 規則),請使用 window.getCompulatedStyle() 方法。此方法提供了一個 Style 對象,表示應用於元素的完整樣式。
例如,呼叫 console.log(window.getCompulatedStyle(document.getElementById('test')).display) 將輸出「block, " 反映 #map {display: block} 規則。
雖然內聯樣式通常不鼓勵使用 CSS,但理解 element.style 和 window.getComputedStyle() 之間的區別對於準確存取元素樣式至關重要JavaScript。
以上是即使我有 CSS 規則,為什麼 `element.style.display` 仍為空?的詳細內容。更多資訊請關注PHP中文網其他相關文章!