Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Mendapatkan Nilai Gaya Elemen HTML dalam JavaScript Merentasi Pelayar?

Bagaimana untuk Mendapatkan Nilai Gaya Elemen HTML dalam JavaScript Merentasi Pelayar?

Linda Hamilton
Lepaskan: 2024-11-30 05:50:09
asal
752 orang telah melayarinya

How to Retrieve HTML Element Style Values in JavaScript Across Browsers?

Mendapatkan semula Nilai Gaya Elemen HTML dalam JavaScript

Untuk elemen dengan gaya yang ditakrifkan melalui teg gaya, seperti yang digambarkan di bawah:

<style>
#box {
  width: 100px;
}
</style>

<div>
Salin selepas log masuk

Untuk mendapatkan nilai gaya menggunakan JavaScript, sifat elemen.style sahaja tidak akan mencukupi, kerana ia hanya menyediakan gaya sebaris atau yang ditakrifkan JavaScript.

Gaya Dikira

Kami perlu mengakses gaya terkira elemen , yang mewakili gaya sebenar yang digunakan padanya selepas mewarisi elemen induk dan mengambil kira peraturan CSS yang digunakan. Dalam JavaScript, kita boleh mendapatkan gaya yang dikira menggunakan dua kaedah:

1. Standard DOM (Pelayar Lain):

document.defaultView.getComputedStyle(element, null).getPropertyValue(propertyName);
Salin selepas log masuk

2. Spesifik IE:

element.currentStyle[propertyName];
Salin selepas log masuk

Walau bagaimanapun, IE menggunakan nama sifat camelCase (cth., "Saiz fon") dan mungkin mengembalikan saiz dalam unit bukan piksel, manakala kaedah standard menggunakan nama sifat sempang ( cth., "saiz fon") dan sentiasa menyediakan piksel nilai.

Penyelesaian Silang Penyemak Imbas

Untuk mendapatkan semula gaya yang dikira dalam cara yang serasi merentas penyemak imbas, gunakan fungsi berikut:

function getStyle(element, property) {
  var value, defaultView = (element.ownerDocument || document).defaultView;
  // Sanitize property name for different browsers
  property = property.replace(/([A-Z])/g, "-").toLowerCase();

  if (defaultView && defaultView.getComputedStyle) {
    return defaultView.getComputedStyle(element, null).getPropertyValue(property);
  } else if (element.currentStyle) {
    // Convert camelCase property name to hyphenated
    property = property.replace(/\-(\w)/g, function(str, letter) {
      return letter.toUpperCase();
    });

    value = element.currentStyle[property];
    if (/^\d+(em|pt|%|ex)?$/i.test(value)) {
      return (function(value) {
        var oldLeft = element.style.left, oldRsLeft = element.runtimeStyle.left;
        element.runtimeStyle.left = element.currentStyle.left;
        element.style.left = value || 0;
        value = element.style.pixelLeft + "px";
        element.style.left = oldLeft;
        element.runtimeStyle.left = oldRsLeft;
        return value;
      })(value);
    }
    return value;
  }
}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Nilai Gaya Elemen HTML dalam JavaScript Merentasi Pelayar?. 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