(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
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
.
Vous pouvez aussi faire ceci:
$(".someclass").css("cssText", "border: none !important;");
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");
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;");