Comment définir "style=display: none;" En utilisant la méthode attr de jQuery?

suivant est le formulaire avec id msform que je veux appliquer un style="display:none" attribut.

<form id="msform" style="display:none;">
</form>

le contrôle doit aussi être effectué avant d'ajouter le "style=display:none;" propriété. C'est-à-dire que si elle est déjà définie comme dans le code ci-dessus, elle ne devrait pas être définie à nouveau.

mais si ce n'est pas réglé alors il devrait.

Comment dois-je faire? S'il vous plaît aider moi.

23
demandé sur Gone Coding 2015-01-08 20:42:24

6 réponses

Pourquoi ne pas simplement utiliser $('#msform').hide()? Derrière la scène jQuery est hide et show set display: none ou display: block.

hide() ne changera pas le style si déjà caché.

basé sur le commentaire ci-dessous, vous supprimez tout le style avec removeAttr("style"), auquel cas l'appel hide() immédiatement après cela.

e.g.

$("#msform").removeAttr("style").hide();

L'inverse de ce qui est bien sûr show() comme suit:

$("#msform").show();

Ou, plus intéressant, toggle(), qui efficace bascule entre hide() et show() basé sur l'état actuel.

33
répondu Gone Coding 2017-11-20 16:52:02

Sauf hide() mentionné dans d'autres réponses, vous pouvez utiliser css():

$("#msform").css("display","none")
21
répondu nicael 2017-12-09 16:16:02
$(document).ready(function(){
var display =  $("#msform").css("display");
    if(display!="none")
    {
        $("#msform").attr("style", "display:none");
    }
});
5
répondu Suraj Shrestha 2015-01-09 10:57:04

Vous pouvez simplement utiliser: $("#msform").hide(). Ceci définit l'élément display: none

1
répondu jmore009 2015-01-08 17:43:40

Vous pouvez utiliser le hide et show fonctions de jquery. Exemples

dans votre cas, mettez juste $('#msform').hide() ou $('#msform').show()

1
répondu Victor 2015-01-08 17:45:23

sur la base du commentaire, nous supprimons une propriété de l'attribut style.

ici ce n'était pas un effet, mais quand plus de propriétés sont utilisées dans le style il est utile.

$('#msform').css('display', '')

Après cela, nous utilisons

$("#msform").show();
1
répondu Srikrushna Pal 2018-06-28 07:06:55