Selain definisi gaya sebaris (yaitu, ditambahkan melalui atribut gaya), gaya CSS suatu elemen juga memiliki dua metode: css yang disematkan di halaman dan css yang diperkenalkan secara eksternal. Namun, di JS, hanya atribut gaya inline yang dapat diperoleh melalui el.style.xxx, yang memiliki batasan yang relatif besar. Untungnya, browser menyediakan cara lain untuk mendapatkan atribut gaya yang ditentukan dengan cara lain. Di IE ada currentStyle, FF dan browser standar w3c lainnya seperti getComputedStyle.
Untuk kemudahan pengoperasian, banyak js-lib saat ini telah merangkumnya, tetapi seringkali kita tidak perlu memperkenalkan lib apa pun. Yang kita perlukan hanyalah fungsi getStyle untuk mendapatkan definisi gaya elemen saat ini. Setelah mengacu pada beberapa kode JS-Lib, saya memutuskan untuk mengimplementasikan versi sederhana dari fungsi getStyle. Tujuan dari fungsi ini adalah untuk memenuhi sebagian besar kebutuhan, bersifat lintas-browser, memiliki kode yang ringkas, dan memiliki kinerja yang sangat baik. Berdasarkan persyaratan ini, saya membutuhkan waktu satu jam untuk menyelesaikannya. Saya terutama menggunakan beberapa tips seperti "Karakteristik operator logika JS," kompilasi "kode", dan eksekusi fungsi secara instan. Saya menulisnya di sini untuk digunakan di masa mendatang., jika itu bisa bermanfaat untuk sobat manapun, tentunya akan lebih baik.
kode program
var getStyle=fungsi(){
var f=dokumen.defaultView;
kembalikan Fungsi baru('el','gaya',[
"style.indexOf('-')>-1 && (style=style.replace(/-( \w)/g,function(m,a){return a.toUpperCase()}));",
"gaya=='mengambang' && (gaya='",
f ? 'cssFloat' : 'gayaFloat',
"');kembalikan el.style[gaya] || ",
f ? 'window.getComputedStyle(el, null)[gaya]' : 'el.currentStyle[gaya]',
' ||.batal;'].bergabung(''));
}();
//Contoh penggunaan:
var el=document.getElementById('test');
getStyle(el,'tinggi garis');
getStyle(el,'warna');
getStyle(el,'mengambang');
Dari: http://www.ajaxbbs.net/post/webFront/JS-Get-Style-Function.html