Jika saya memiliki yang berikut di html saya:
<div style="height:300px; width:300px; background-color:#ffffff;"></div>
Dan ini di lembar gaya css saya:
div {
width:100px;
height:100px;
background-color:#000000;
}
Apakah ada cara, dengan javascript / jquery, untuk menghapus semua gaya sebaris dan hanya menyisakan gaya yang ditentukan oleh lembar gaya css?
javascript
jquery
css
inline
Matt
sumber
sumber
.css()
dengan string kosong sebagai nilai kedua akan menghapus hanya nilai bernama dari gaya sebaris, misalnya $ ('div'). Css ('display', ''); hanya akan menghapus properti tampilan sebaris (jika disetel).$('*').removeAttr('style')
untuk menargetkan semuanya.JavaScript biasa:
Anda tidak perlu jQuery untuk melakukan sesuatu yang sepele seperti ini. Gunakan saja
.removeAttribute()
metodenya.Dengan asumsi Anda hanya menargetkan satu elemen, Anda dapat dengan mudah menggunakan berikut ini: (contoh)
Jika Anda menargetkan beberapa elemen, cukup putar melalui koleksi elemen yang dipilih: (contoh)
Array.prototype.forEach()
- IE9 dan yang lebih baru /.querySelectorAll()
- IE 8 (sebagian) IE9 dan yang lebih baru.sumber
Array.prototype.forEach.call
adalah operator percikan didukung dengan baik cukup, yang menyimpan baris:[... document.querySelectorAll('div')].forEach(div => div.removeAttribute('style'))
.sumber
Saya menggunakan
$('div').attr('style', '');
teknik ini dan tidak berfungsi di IE8.Saya mengeluarkan atribut style menggunakan
alert()
dan itu tidak menghapus gaya inline..removeAttr
akhirnya melakukan trik di IE8.sumber
Jika Anda hanya perlu mengosongkan
style
elemen maka:element.style.cssText = null;
Ini harus dilakukan dengan baik. Semoga membantu!
sumber
element.style.display = null;
- itulah yang saya butuhkan: DIni dapat dilakukan dengan dua langkah:
1: pilih elemen yang ingin Anda ubah dengan tagname, id, class dll.
var element = document.getElementsByTagName('h2')[0];
element.removeAttribute('style');
sumber
Anda juga dapat mencoba mencantumkan css di style sheet sebagai! Penting
sumber