web-dev-qa-db-fra.com

Ignorer! Important avec css ou jquery

(Ceci utilise des scripts de contenu dans une extension chrome)

J'ai besoin d'écraser certaines propriétés CSS que la page Web a étiquetées !important. Est-ce possible?

Par exemple, si je veux supprimer la bordure qui est considérée comme importante:

$(".someclass").css('border','none'); //does not work
45
Wilson

Voici:

$( '.someclass' ).each(function () {
    this.style.setProperty( 'border', 'none', 'important' );
});

Démo en direct:http://jsfiddle.net/Gtr54/

La méthode .setProperty de l'objet style d'un élément vous permet de passer un troisième argument représentant la priorité. Vous remplacez donc une valeur! Importante par votre propre valeur. Autant que je sache, il n'est pas possible de définir la priorité! Importante avec jQuery; votre seule option est donc la méthode intégrée .setProperty.

103
Šime Vidas

Vous pouvez aussi faire ceci:

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

Cela devrait aider.

$(".someclass").attr("style","border:none!important");

Mis à jour, pour ne pas écraser tous les styles:

var existingStyles = $(".someclass").attr("style");
$(".someclass").attr("style", existingStyles+"border:none!important");
3
Pallavi Dwivedi

il y a aussi une autre façon

$("#m_divList tbody").find("tr[data-uid=" + row.uid + "]").find('td').css("cssText", "color: red !important;");

css ("cssText", "couleur: rouge! important;");

0
user2244656