afficher les éléments avec style display:none !important (jQuery)
Comme dit dans jQuery documentation --- .show()
Remarque: Si vous utilisez !important dans vos styles, tels que display: none
!important, il est nécessaire de remplacer le style à l'aide
.css('display', 'block !important") si vous le souhaitez pour .show() à
fonctionner correctement.
Mais il semble que le style ne peut pas être remplacée et l'élément ne peut pas être affichée. Suis-je en train de faire quelque chose de mal ici?
Ressemble à un bug, au moins conformément à la documentation.
!important l'emporte sur le subséquentes style. Alors votre !important dans le CSS est appliqué en premier et il l'emporte sur le style que vous définissez avec le javascript.
!important l'emporte sur le subséquentes style. Alors votre !important dans le CSS est appliqué en premier et il l'emporte sur le style que vous définissez avec le javascript.
OriginalL'auteur user1643156 | 2012-10-16
Vous devez vous connecter pour publier un commentaire.
Lorsque vous utilisez le
attr
il peut travailler. jQueries.css()
et.prop()
les deux ne fonctionnent pasDans ce violon avec
attr
supprimer la!important
javascript et vous verrez comment le CSS!important
casse même la ligne de style.votre violon
D'accord, mais qui peut être facilement résolu http://jsfiddle.net/FF3mc/6/
lorsqu'un élément est basculé plusieurs fois, il fera de la source généré de plus en plus grandes, les résultats dans quelque chose comme
disply: block !important; display: none !important; disply: block !important; display: none !important;...
Juste d'être pointilleux, mais il devrait probablement être
;display: block !important
puisque vous ne pouvez pas être sûr à 100% il y a un;
à la fin des règles existantes 🙂ok ok .. je +1 pour vous 😉
OriginalL'auteur bart s
Sinon, vous pouvez le faire avec les classes (de sorte que tous vos CSS est dans le CSS les fichiers eux-mêmes, et de ne pas être directement modifiées par javascript): http://jsfiddle.net/FF3mc/4/
Ouais, je pense que parfois, c'est vrai. Problème avec la définition de l'attribut style est que vous risquez d'écraser ce qu'il y a déjà bien!
Et bien, idéalement,
!important
devrait être évitée autant que possible! 🙂Seconde! Classes est mieux pour la propreté, inline est mieux pour les performances (et prend un peu plus de travail)
avec un grand ajax de projet, il pourrait y avoir beaucoup de styles définis avec !important. et je dois écrire une autre classe pour chacun d'eux. me semble que je suis en train de faire un travail supplémentaire qui aurait pu être évité.
OriginalL'auteur manavo
Nous ne pouvons pas utiliser .css() ici, car il ne supporte pas !important.
OriginalL'auteur Aufuray