
Mengubah suai Peraturan Kelas CSS Secara Dinamik dengan jQuery
Soalan 1: Menukar Peraturan Kelas dengan Cepat
Untuk menukar saiz fon kelas CSS bernama ".classname" menggunakan jQuery, tanpa menambah CSS sebaris atau memanipulasi DOM secara langsung, ikut langkah berikut:
1 2 3 4 5 6 7 8 9 10 11 | <code class = "javascript" >
var styleSheet = document.styleSheets[0];
for ( var i = 0; i < styleSheet.cssRules.length; i++) {
if (styleSheet.cssRules[i].selectorText === ".classname" ) {
styleSheet.cssRules[i].style.fontSize = "16px" ;
}
}</code>
|
Salin selepas log masuk
Soalan 2: Menyimpan Perubahan Kelas pada Fail
Untuk menyimpan CSS yang diubah suai peraturan kelas kepada fail, anda perlu membuat permintaan Ajax POST ke pelayan.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <code class = "javascript" >
var updatedCSS = "" ;
for ( var i = 0; i < styleSheet.cssRules.length; i++) {
updatedCSS += styleSheet.cssRules[i].selectorText + " {\n" ;
for ( var j = 0; j < styleSheet.cssRules[i].style.length; j++) {
updatedCSS += " " + styleSheet.cssRules[i].style[j] + ": " + styleSheet.cssRules[i].style.getPropertyValue(styleSheet.cssRules[i].style[j]) + ";\n" ;
}
updatedCSS += "}\n" ;
}
$.ajax({
type: "POST" ,
url: "/save-css" ,
data: { updatedCSS: updatedCSS }
});</code>
|
Salin selepas log masuk
Di bahagian pelayan, cipta skrip untuk menyimpan CSS dikemas kini yang diterima ke fail.
Nota Tambahan
- Pendekatan pertama tidak menjejaskan fail CSS luaran tetapi hanya mengubah suai peraturan CSS dalam ingatan, jadi ia tidak akan berterusan selepas muat semula halaman.
- Untuk keserasian merentas pelayar, pertimbangkan untuk menggunakan pemalam jQuery yang memudahkan manipulasi peraturan CSS.
Atas ialah kandungan terperinci Bagaimanakah saya boleh menukar peraturan kelas CSS secara dinamik menggunakan jQuery tanpa menyentuh DOM?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!