Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mengeluarkan Keseluruhan Kandungan Peraturan CSS Secara Pengaturcaraan sebagai Rentetan?
Dalam bidang pembangunan bahagian hadapan, memanipulasi peraturan CSS secara pemrograman ialah kemahiran yang berharga. Artikel ini membincangkan cabaran khusus: iaitu mengekstrak keseluruhan kandungan peraturan CSS sebagai rentetan. Matlamatnya adalah untuk mencapai ini tanpa mengetahui secara jelas sifat gaya khusus yang terkandung dalam peraturan.
Untuk bermula, pertimbangkan senario masalah berikut:
Anda menghadapi senario di mana anda bertujuan untuk mendapatkan rentetan yang terdiri daripada kandungan lengkap peraturan CSS, mereplikasi format yang anda akan dapati dalam gaya sebaris. Tugasan ini memerlukan keupayaan untuk menyelesaikannya tanpa mengira sifat khusus yang terdapat dalam peraturan tertentu.
Andaikan kami diberi CSS berikut:
.test { width: 80px; height: 50px; background-color: #808080; }
Setakat ini, anda mungkin telah melaksanakan kod berikut:
function getStyle(className) { var classes = document.styleSheets[0].rules || document.styleSheets[0].cssRules; for (var x = 0; x < classes.length; x++) { if (classes[x].selectorText == className) { // Here's where you intend to gather style information but are unsure how. } } } getStyle(".test");
Kunci untuk menyelesaikan teka-teki ini terletak pada memanfaatkan sifat cssText helaian gaya dan peraturan. Begini cara anda boleh mempertingkatkan kod anda:
function getStyle(className) { var cssText = ""; var classes = document.styleSheets[0].rules || document.styleSheets[0].cssRules; for (var x = 0; x < classes.length; x++) { if (classes[x].selectorText == className) { cssText += classes[x].cssText || classes[x].style.cssText; } } return cssText; }
Versi diperhalusi fungsi getStyle ini menggunakan sifat cssText untuk mengumpulkan keseluruhan set pengisytiharan gaya yang berkaitan dengan className yang ditentukan. Rentetan yang terhasil, cssText, kemudiannya boleh digunakan seperti yang diperlukan dalam aplikasi anda.
Untuk menggambarkan penyelesaian, mari keluarkan hasilnya kepada amaran:
alert(getStyle(".test"));
Ini sepatutnya memaparkan sebaris- gaya yang setara dengan peraturan CSS untuk kelas .test.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeluarkan Keseluruhan Kandungan Peraturan CSS Secara Pengaturcaraan sebagai Rentetan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!