Walaupun JavaScript menyediakan keupayaan yang luas untuk memanipulasi sifat gaya elemen HTML individu, pertanyaan biasa timbul: adakah mungkin untuk mengubah helaian gaya CSS yang mendasari itu sendiri?
Untuk menjelaskan, soalannya khusus berkaitan dengan mengubah suai kandungan lembaran gaya, bukan sekadar mengubah sifat gaya elemen dengan JavaScript.
Untuk mengubah suai lembaran gaya CSS secara dinamik menggunakan JavaScript, penyemak imbas moden menyediakan kaedah insertRule() untuk menambah peraturan dan kaedah deleteRule() untuk mengalih keluar sedia ada peraturan.
let styleSheet = document.styleSheets[0]; styleSheet.insertRule("#id { color: red; }", 0); // Adds a rule to the beginning of the stylesheet styleSheet.deleteRule(0); // Removes the rule that was just added
Selain itu, atribut cssRules bagi lembaran gaya membenarkan akses kepada peraturan individu yang terkandung di dalamnya. Ini memberikan kawalan yang lebih baik ke atas manipulasi peraturan.
let rule = styleSheet.cssRules[0]; rule.selectorText = "#new_id"; // Changes the selector for a rule rule.style.color = "blue"; // Modifies the style properties defined by a rule
Mungkin tergoda untuk menggunakan kaedah "kotor" seperti mencipta elemen gaya baharu dan memasukkannya ke dalam kepala. Walau bagaimanapun, pendekatan ini menimbulkan beberapa kelemahan:
Dengan memanfaatkan kaedah insertRule() dan deleteRule() terbina dalam, pembangun boleh mengubah lembaran gaya CSS secara dinamik dengan cara yang mantap dan disokong.
Atas ialah kandungan terperinci Bolehkah JavaScript Mengubah Suai Secara Terus Lembaran Gaya CSS Di Luar Penggayaan Sebaris?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!