在網(wǎng)頁制作過程中,我們通常會將樣式定義在外部的CSS文件中,然后使用標簽將其引入到HTML文件中。但是,在JavaScript中,我們同樣可以讀取這些外部的CSS文件,從而對網(wǎng)頁樣式進行動態(tài)的修改。
要想讀取外部的CSS文件,我們可以使用JavaScript中的document對象的getElementsByTagName()方法,將
元素中所有的元素取出來,再通過遍歷的方式找到我們需要的CSS文件。let links = document.getElementsByTagName("link"); let cssFile = null; for (let i = 0; i< links.length; i++) { if (links[i].getAttribute("rel").indexOf("stylesheet") !== -1) { cssFile = links[i].getAttribute("href"); break; } }
上述代碼中,我們首先使用getElementsByTagName()方法將
元素中的所有元素都取出來,然后通過遍歷的方式找到rel屬性中包含“stylesheet”的元素,并獲取其href屬性中的CSS文件路徑。有了CSS文件路徑,我們就可以使用XMLHttpRequest對象讀取文件內(nèi)容了。
let xhr = new XMLHttpRequest(); xhr.open("GET", cssFile, true); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { let cssText = xhr.responseText; // do something with cssText } }; xhr.send();
在上述代碼中,我們首先創(chuàng)建了一個XMLHttpRequest對象,并使用open()方法打開了CSS文件,然后通過onreadystatechange事件監(jiān)聽器來獲取文件內(nèi)容。
最后,我們可以通過對CSS文件內(nèi)容進行解析、修改、重新應用等操作,從而實現(xiàn)動態(tài)修改網(wǎng)頁樣式的效果。
上一篇jsp 訪問不到css
下一篇js 獲取css top