Rumah > hujung hadapan web > tutorial css > Bagaimana untuk Mendapatkan Semua Gaya Elemen Hanya Menggunakan IDnya?

Bagaimana untuk Mendapatkan Semua Gaya Elemen Hanya Menggunakan IDnya?

Mary-Kate Olsen
Lepaskan: 2024-10-29 11:31:02
asal
721 orang telah melayarinya

How to Retrieve All Styles of an Element Using Only Its ID?

Cara Mengumpul Semua Gaya daripada Elemen Hanya Menggunakan IDnya

Dalam soalan ini, kami berhasrat untuk membangunkan fungsi, getStyleById, yang mendapatkan semula semua atribut gaya dan nilai sepadannya untuk elemen tertentu, hanya diberikan IDnya. Fungsi ini harus mempertimbangkan kedua-dua gaya sebaris dan gaya yang ditakrifkan dalam fail CSS.

Penyelesaian:

Untuk mencapai ini, kami boleh menggunakan pendekatan yang komprehensif:

  1. Gelung melalui Properties: Dapatkan semula semua nama sifat yang diketahui menggunakan gelung yang berulang melalui objek CSSStyleDeclaration (getComputedStyle). Untuk setiap nama, dapatkan nilai menggunakan getPropertyValue.
  2. Optimumkan Gelung: Tingkatkan kecekapan dengan menyimpan getComputedStyle di luar gelung dalam pembolehubah berasingan.
  3. Pengendalian Gaya Sebaris : Gunakan gelung untuk…dalam gelung biasa untuk mendapatkan maklumat gaya sebaris.

Pelaksanaan Kod:

<code class="javascript">function getStyleById(id) {
    return getAllStyles(document.getElementById(id));
}
function getAllStyles(elem) {
    if (!elem) return []; // Empty list if element is absent.
    var win = document.defaultView || window, style, styleNode = [];
    if (win.getComputedStyle) { /* Modern browsers */
        style = win.getComputedStyle(elem, '');
        for (var i=0; i<style.length; i++) {
            styleNode.push( style[i] + ':' + style.getPropertyValue(style[i]) );
        }
    } else if (elem.currentStyle) { /* IE */
        style = elem.currentStyle;
        for (var name in style) {
            styleNode.push( name + ':' + style[name] );
        }
    } else { /* Ancient browser..*/
        style = elem.style;
        for (var i=0; i<style.length; i++) {
            styleNode.push( style[i] + ':' + style[style[i]] );
        }
    }
    return styleNode;
}</code>
Salin selepas log masuk

Dengan menggabungkan kaedah ini, kami fungsi boleh mengumpulkan semua gaya yang digunakan untuk elemen tertentu dengan berkesan, meningkatkan utilitinya untuk pelbagai tugas.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Semua Gaya Elemen Hanya Menggunakan IDnya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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