(Dies verwendet Inhaltsskripte in einer Chrome-Erweiterung.)
Ich muss einige CSS-Eigenschaften überschreiben, die von der Webseite als !important
gekennzeichnet wurden. Ist das möglich?
Wenn ich zum Beispiel die Grenze entfernen möchte, die als wichtig gekennzeichnet ist:
$(".someclass").css('border','none'); //does not work
Bitte schön:
$( '.someclass' ).each(function () {
this.style.setProperty( 'border', 'none', 'important' );
});
Live Demo:http://jsfiddle.net/Gtr54/
Mit der .setProperty
-Methode des style
-Objekts eines Elements können Sie ein drittes Argument übergeben, das die Priorität darstellt. Sie überschreiben also einen! Wichtigen Wert mit Ihrem eigenen! Wichtigen Wert. Soweit ich weiß, ist es nicht möglich, die wichtige Priorität! Mit jQuery festzulegen. Daher ist Ihre einzige Option die integrierte .setProperty
-Methode.
Sie können dies auch tun:
$(".someclass").css("cssText", "border: none !important;");
Das sollte helfen.
$(".someclass").attr("style","border:none!important");
Aktualisiert, um nicht alle Stile zu überschreiben:
var existingStyles = $(".someclass").attr("style");
$(".someclass").attr("style", existingStyles+"border:none!important");
es gibt auch einen anderen Weg
$("#m_divList tbody").find("tr[data-uid=" + row.uid + "]").find('td').css("cssText", "color: red !important;");
css ("cssText", "color: red! important;");
wir können die Klasse einfach mit jquery hinzufügen
$("someclass").addClass("test");
<style>
.test{
border:none !important;
}
</style>