Jeśli mam następujące informacje w moim html:
<div style="height:300px; width:300px; background-color:#ffffff;"></div>
A to w moim arkuszu stylów css:
div {
width:100px;
height:100px;
background-color:#000000;
}
Czy za pomocą javascript / jquery można w jakiś sposób usunąć wszystkie wbudowane style i pozostawić tylko style określone w arkuszu stylów css?
javascript
jquery
css
inline
Matt
źródło
źródło
.css()
z pustym ciągiem znaków jako drugą wartością usunie tylko podaną wartość ze stylów wbudowanych, np. $ ('Div'). Css ('display', ''); usunie tylko wbudowaną właściwość wyświetlania (jeśli jest ustawiona).$('*').removeAttr('style')
do kierowania na wszystko.Zwykły JavaScript:
Nie potrzebujesz jQuery do zrobienia czegoś tak trywialnego. Po prostu użyj
.removeAttribute()
metody.Zakładając, że celujesz w pojedynczy element, możesz łatwo użyć następującego: (przykład)
document.querySelector('#target').removeAttribute('style');
Jeśli kierujesz reklamy na wiele elementów, po prostu przejrzyj wybraną kolekcję elementów: (przykład)
var target = document.querySelectorAll('div'); Array.prototype.forEach.call(target, function(element){ element.removeAttribute('style'); });
Array.prototype.forEach()
- IE9 i nowsze /.querySelectorAll()
- IE 8 (częściowe) IE9 i nowsze.źródło
Array.prototype.forEach.call
jest dość dobrze obsługiwany operator ikona, która zapisuje wiersz:[... document.querySelectorAll('div')].forEach(div => div.removeAttribute('style'))
.$('div').removeAttr('style');
źródło
Używałem tej
$('div').attr('style', '');
techniki i nie działała w IE8.Wyprowadziłem atrybut style przy użyciu
alert()
i nie usuwał on stylów wbudowanych..removeAttr
ostatecznie załatwił sprawę w IE8.źródło
Jeśli chcesz po prostu opróżnić
style
element, to:element.style.cssText = null;
To powinno wystarczyć. Mam nadzieję, że to pomoże!
źródło
element.style.display = null;
- tego właśnie potrzebowałem: DMożna to zrobić w dwóch krokach:
1: wybierz element, który chcesz zmienić, za pomocą zmiennej, identyfikatora, klasy itp.
var element = document.getElementsByTagName('h2')[0];
element.removeAttribute('style');
źródło
Możesz także spróbować wymienić css w arkuszu stylów jako! Ważne
źródło