如果要在頁面中動態修改css全域樣式,例如將頁面所有字體顏色改為紅色
透過css可以這樣實作
*{color:red;}
而如果透過js,利用頁面中的按鈕修改所有元素樣式,即透過js點擊按鈕動態修改頁面中所有元素樣式字體顏色為紅色,應如何實現
阿神2017-05-19 10:13:38
我只能想到這個方法。
Array.prototype.slice.call(document.all).forEach(function (ele) {
ele.style.color = 'red';
});
阿神2017-05-19 10:13:38
用css樣式相關的介面 stylesheet.insertRule
或者stylesheet.addRule
這兩個都可以動態插入css樣式 相容性還可以 ie9+
例如
// https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet/insertRule
myStyle.insertRule("#blanc { color: white }", 0);
需要刪除的時候還有deleteRule
和removeRule
兩個方法 可以查一下相關資料
phpcn_u15822017-05-19 10:13:38
[].forEach.call(document.querySelectorAll('*'),function(a){
a.style.color = 'red';
})