webentwicklung-frage-antwort-db.com.de

Overriding! Wichtig mit css oder jquery

(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
45
Wilson

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.

103
Šime Vidas

Sie können dies auch tun:

$(".someclass").css("cssText", "border: none !important;");
47
hawkeye126

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");
3
Pallavi Dwivedi

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;");

0
user2244656

wir können die Klasse einfach mit jquery hinzufügen

$("someclass").addClass("test");

<style>
.test{
border:none !important;
}
</style>
0
Shubham Chopra