最近我在做一個網站的時候,遇到了一個問題:我想動態地改變某個元素的樣式,于是我使用了JavaScript動態調用CSS的方法,但是卻發現樣式并沒有生效。
經過一番調查,我發現了問題的所在:JavaScript動態調用CSS的時候,需要在文件頭里加上“type="text/css"”,否則瀏覽器會將該CSS代碼作為普通的文本來處理,從而使得樣式無法應用到網頁元素上。
這個問題其實很簡單,只需要在代碼中加上“type="text/css"”即可解決,下面是示例代碼:
function changeStyle() { var x = document.getElementById("myText"); x.style.color = "red"; x.style.background = "yellow"; x.style.fontSize = "30px"; } <style type="text/css"> p { font-size: 20px; color: gray; } </style> <p id="myText">這是一個段落</p> <button onclick="changeStyle()">改變樣式</button>在這個示例中,我定義了一個changeStyle()函數用來改變id為“myText”的元素的樣式,但是這個樣式并沒有被應用到元素上。 加上“type="text/css"”后,代碼變成了這樣:
<style type="text/css"> p { font-size: 20px; color: gray; } </style> function changeStyle() { var x = document.getElementById("myText"); x.style.color = "red"; x.style.background = "yellow"; x.style.fontSize = "30px"; } <p id="myText">這是一個段落</p> <button onclick="changeStyle()">改變樣式</button>這時候,樣式就能夠正確地應用到元素上了。 總結一下,如果在JavaScript中動態調用CSS,需要在CSS代碼的前面加上“type="text/css"”,否則在瀏覽器中無法正確應用樣式。