Saya tahu saya dapat menetapkan nilai CSS melalui JavaScript seperti:
document.getElementById('image_1').style.top = '100px';
Tapi, bisakah saya mendapatkan nilai gaya spesifik saat ini? Saya sudah membaca di mana saya bisa mendapatkan seluruh gaya untuk elemen, tetapi saya tidak ingin harus menguraikan seluruh string jika saya tidak harus.
javascript
css
Michael Paul
sumber
sumber
var top = document.getElementById('image_1').style.top;
May ingin mengulanginya jika bukan itu yang Anda inginkanJawaban:
Anda bisa menggunakannya
getComputedStyle()
.jsFiddle .
sumber
Properti element.style memberi tahu Anda hanya properti CSS yang didefinisikan sebagai sebaris pada elemen tersebut (secara terprogram, atau didefinisikan dalam atribut style elemen), Anda harus mendapatkan gaya yang dikomputasi.
Tidak begitu mudah untuk melakukannya dengan cara browser silang, IE memiliki caranya sendiri, melalui properti element.currentStyle, dan cara standar Level 2 DOM, yang diterapkan oleh browser lain adalah melalui metode document.defaultView.getComputedStyle.
Dua cara memiliki perbedaan, misalnya, properti IE element.currentStyle berharap Anda mengakses nama properti CSS yang terdiri dari dua kata atau lebih di camelCase (mis. MaxHeight, fontSize, backgroundColor, dll), cara standar mengharapkan properti dengan kata-kata yang dipisahkan dengan tanda hubung (mis. ketinggian maksimal, ukuran font, warna latar belakang, dll). ......
Referensi utama stackoverflow
sumber
Gunakan yang berikut ini. Itu membantu saya.
Lihat juga Dapatkan Gaya .
sumber
Solusi lintas-browser untuk memeriksa nilai-nilai CSS tanpa manipulasi DOM:
Pemakaian:
Versi yang sudah disanitasi (memaksa input pemilih ke huruf kecil, dan memungkinkan case use tanpa memimpin ".")
sumber
Jika Anda mengaturnya secara terprogram Anda bisa menyebutnya seperti variabel (yaitu
document.getElementById('image_1').style.top
). Jika tidak, Anda selalu dapat menggunakan jQuery:sumber
Jika Anda ke perpustakaan, mengapa tidak MyLibrary dan getStyle .
Metode jQuery css salah nama, CSS hanyalah salah satu cara pengaturan gaya dan tidak selalu mewakili nilai aktual properti gaya elemen.
sumber
Pada 2020
Anda dapat menggunakan computedStyleMap ()
Jawabannya valid tetapi kadang-kadang Anda perlu memeriksa unit apa yang dikembalikan, Anda bisa mendapatkannya tanpa
slice()
atausubstring()
string.sumber
Sebagai masalah keamanan, Anda mungkin ingin memeriksa apakah elemen itu ada sebelum Anda mencoba membacanya. Jika tidak ada, kode Anda akan mengeluarkan pengecualian, yang akan menghentikan eksekusi pada sisa JavaScript Anda dan berpotensi menampilkan pesan kesalahan kepada pengguna - tidak baik. Anda ingin bisa gagal dengan anggun.
sumber
Solusi lintas-browser tanpa manipulasi DOM yang diberikan di atas tidak berfungsi karena memberikan aturan yang cocok pertama, bukan yang terakhir. Aturan pencocokan terakhir adalah yang berlaku. Ini adalah versi yang berfungsi:
Namun, pencarian sederhana ini tidak akan berfungsi jika ada pemilih yang kompleks.
sumber