würde Inline-Styling nicht empfehlen, macht das Markup sehr schwer zu pflegen.
– Panotpi
25. September 2013 um 9:19 Uhr
@TarunPai nicht falsch! Die Verwendung einer toggleClass () -Logik könnte ein besserer Ansatz sein, könnte jedoch davon abhängen, wonach OP sucht
– A. Wolff
25. September 2013 um 9:19 Uhr
@A.Wolff ja 🙂 Antwort ist auf jeden Fall legitim.
– Panotpi
25. September 2013 um 9:20 Uhr
Was ist der Vorteil davon über .css()?
– Bram Vanroy
25. September 2013 um 9:25 Uhr
Die Methode @BramVanroy .css() kann hier nicht verwendet werden, da Sie die Anweisung !important nicht entfernen können
– A. Wolff
25. September 2013 um 9:26 Uhr
Virender Kumar Jangra
Obwohl die Frage schon lange gestellt wurde, ist sie für neue Programmierer / Anfänger immer noch relevant. Im Allgemeinen tritt diese Situation auf, wenn Sie bereits eine Klasse angewendet haben, die die überschreibt display Verhalten verwenden !important Eigentum.
Andere Antworten sind auch für die Frage relevant und es geht darum, dasselbe Ziel mit einem anderen Ansatz zu erreichen. Ich würde empfehlen, dies mit bereits verfügbaren Klassen in derselben Bibliothek (Bootstrap hier) zu erreichen, anstatt benutzerdefinierte Klassen zu schreiben, wie sie heutzutage von den meisten von uns verwendet werden Bootstrap-Klassen um das Layout zu bauen.
Wenn Sie im obigen Code sehen, verwenden wir d-flex Klasse zum Festlegen der Anzeigeeigenschaft dieses Containers. Nun, wenn ich es versuche show/hide diesen Container verwenden
$('#container').show()
oder
$('#container').hide()
Es wird nicht wie erwartet funktionieren, weil
Wie d-flex verwendet bereits !important Eigentum
Jquerys show() Methode wird hinzugefügt display:block nicht display:flex in die CSS-Eigenschaft des Containers.
Daher werde ich die Verwendung empfehlen hidden Klasse hier.
Container zeigen
$('#container').removeClass('hidden')
Behälter zu verstecken
$('#container').addClass('hidden')
Oder die Klasse .invisible
– KimchiMan
13. Juli 2020 um 19:47 Uhr
2 Möglichkeiten, dies zu tun,
1) Entfernen Sie die !important von deiner .cls Klasse,
.cls{
display: none;
}
Aber ich nehme an, Sie hätten dies an anderer Stelle verwendet, sodass es zu einer Regression führen könnte.
2) Was Sie alternativ tun könnten, ist, eine andere Klasse zu haben und diese umzuschalten,
.cls-show{
display: block !important;
}
Und dann in Ihrem Javascript,
$('.cls').addClass(".cls-show");
Wenn Sie es dann wieder ausblenden müssen, können Sie
$('.cls').removeClass('.cls-show');
Dies hilft Ihnen, Ihr Markup sauber und lesbar zu halten
Manisch Kumar
!wichtig; Entfernen Sie alle Regeln und wenden Sie das CSS an, das als definiert ist !wichtig;. In Ihrem Fall ignoriert es also alle Regeln und wendet sie an Anzeige: keine.
Also mach das:
.cls {
display:none
}
Siehe dies auch
Wenn die einzige Eigenschaft im CLS-Klassenselektor die Anzeige ist, können Sie dies tun und müssen keine zusätzlichen Klassen hinzufügen oder den Inline-Stil ändern.
Um sie zu zeigen:
$('.cls').removeClass("cls").addClass("_cls");
Um sie auszublenden:
$('._cls').removeClass("_cls").addClass("cls");
BlackTigerX
Hatte gerade genau dieses Problem, hier ist, was ich zuerst getan habe, ich habe dem Element eine weitere Klasse hinzugefügt, wie zum Beispiel:
<div class="ui-cls cls">...</div>
Dann im Javascript:
$('.ui-cls').removeClass('cls').show();
Das Schöne ist, dass Sie diesen Code auch haben können, um ihn wieder auszublenden:
$('.ui-cls').hide();
und es spielt keine Rolle, wie oft Sie sich verstecken/zeigen, es wird immer noch funktionieren
11407600cookie-checkjQuery hide() Methode zeigt Element mit display:none !important anyes
Möchten Sie
hide
odershow
?– Panotpi
25. September 2013 um 9:15 Uhr
Mit show kann man sich nicht verstecken.
– Virus721
25. September 2013 um 9:17 Uhr
🙂 Entschuldigung, ich möchte zeigen
– Schüler
25. September 2013 um 9:18 Uhr