Bagaimanakah JavaScript Boleh Mengakses Sifat CSS Elemen HTML?

Mary-Kate Olsen
Lepaskan: 2024-10-23 21:24:02
asal
626 orang telah melayarinya

How Can JavaScript Access CSS Properties of HTML Elements?

Pengeluaran Harta CSS dengan JavaScript

Mengakses sifat CSS unsur HTML melalui JavaScript ialah kemahiran penting untuk pembangunan web dinamik. Pertimbangkan senario di mana helaian gaya luaran, seperti "style.css," dipautkan ke halaman web. Untuk memanipulasi sifat CSS tertentu, adalah perlu untuk mendapatkan semula nilainya menggunakan JavaScript.

Pilihan untuk Membaca Sifat CSS

Terdapat dua kaedah utama untuk mencapainya:

  1. Akses Objek Gaya Langsung: Dalam penyemak imbas moden, mengakses objek document.styleSheets menyediakan senarai komprehensif semua peraturan gaya yang digunakan pada dokumen. Dengan menghuraikan objek ini, adalah mungkin untuk mencari dan mengekstrak sifat individu. Walau bagaimanapun, kaedah ini tidak disyorkan kerana kerumitan dan pengehadannya.
  2. Kaedah GetComputedStyle: Pendekatan yang lebih serba boleh melibatkan mencipta elemen dengan konfigurasi gaya yang diingini, menggunakan kaedah createElement(). Dengan menggunakan kaedah getComputedStyle() atau currentStyle (IE) pada elemen ini, nilai sifat CSS tertentu boleh diperolehi.

Contoh: Mengekstrak Sifat Warna

Pertimbangkan coretan kod berikut:

<code class="javascript">function getStyleProp(elem, prop) {
    if (window.getComputedStyle) {
        return window.getComputedStyle(elem, null).getPropertyValue(prop);
    } else if (elem.currentStyle) {
        return elem.currentStyle[prop]; // IE
    }
}

window.onload = function () {
    var d = document.createElement("div"); // Create div
    d.className = "layout";                // Set class = "layout"
    alert(getStyleProp(d, "color"));       // Get property value
};</code>
Salin selepas log masuk

Fungsi ini mengambil dua parameter: elemen yang disasarkan dan sifat CSS yang dikehendaki (cth., "warna"). Dengan mencipta elemen div sementara dengan gaya yang sama seperti elemen sasaran, kod mengekstrak dan mengembalikan nilai sifat yang ditentukan.

Teknik Lanjutan

Untuk mendapatkan semula sifat gaya yang kecualikan gaya sebaris, fungsi getNonInlineStyle() boleh digunakan:

<code class="javascript">function getNonInlineStyle(elem, prop) {
    var style = elem.cssText; // Cache the inline style
    elem.cssText = "";        // Remove all inline styles
    var inheritedPropValue = getStyle(elem, prop); // Get inherited value
    elem.cssText = style;     // Add the inline style back
    return inheritedPropValue;
}</code>
Salin selepas log masuk

Dengan memadamkan sementara gaya sebaris, fungsi ini mendedahkan nilai sifat yang diwarisi daripada helaian gaya.

Atas ialah kandungan terperinci Bagaimanakah JavaScript Boleh Mengakses Sifat CSS Elemen HTML?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan