Wie kann ich den 'Bearbeiten'-Link ausblenden, nachdem ich ihn gedrückt habe? und kann ich auch den Text "lorem ipsum" ausblenden, wenn ich auf Bearbeiten drücke?
<script type="text/javascript">
function showStuff(id) {
document.getElementById(id).style.display = 'block';
}
</script>
<td class="post">
<a href="#" onclick="showStuff('answer1'); return false;">Edit</a>
<span id="answer1" style="display: none;">
<textarea rows="10" cols="115"></textarea>
</span>
Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum
</td>
javascript
Nortaga
quelle
quelle
return false
inonclick
?Sie können diesen Code auch verwenden, um Elemente anzuzeigen / auszublenden:
Hinweis Der Unterschied zwischen
style.visibility
undstyle.display
besteht bei Verwendung der Sichtbarkeit: Im Gegensatz zur Anzeige ausgeblendet: Keine. Das Tag ist nicht sichtbar, es wird jedoch Platz auf der Seite zugewiesen. Das Tag wird gerendert und auf der Seite nicht angezeigt.Siehe diesen Link , um die Unterschiede zu sehen.
quelle
.hidden
? Wie verhält es sich jetzt?Ich möchte Ihnen die Option JQuery vorschlagen .
Beispielsweise:
quelle
Ich würde dies vorschlagen, um Elemente zu verbergen (wie andere vorgeschlagen haben):
Aber um Elemente sichtbar zu machen, würde ich Folgendes vorschlagen (anstelle von display = 'block'):
Der Grund dafür ist, dass die Verwendung von display = 'block' einen zusätzlichen Rand / Leerzeichen neben dem Element verursacht, das sowohl in IE (11) als auch in Chrome (Version 43.0.2357.130 m) auf der Seite, an der ich arbeite, sichtbar gemacht wird.
Wenn Sie eine Seite zum ersten Mal in Chrome laden, wird im DOM-Inspektor ein Element ohne Stilattribut wie folgt angezeigt:
Wenn Sie es mit dem Standard-JavaScript ausblenden, geschieht dies wie erwartet:
Wenn Sie es mit display = 'block' wieder sichtbar machen, wird Folgendes geändert:
Welches ist nicht das gleiche wie es ursprünglich war. Dies könnte in den meisten Fällen durchaus keinen Unterschied machen. In einigen Fällen führt dies jedoch zu Anomalien.
Wenn Sie display = '' verwenden, wird der ursprüngliche Zustand im DOM-Inspektor wiederhergestellt, sodass dies der bessere Ansatz zu sein scheint.
quelle
block
Option nutzen.Sie können die versteckte Eigenschaft des Elements verwenden:
quelle
display=""
heutzutage möglicherweise unterschiedliche Werte haben.display: none;
usw. kombinierendisplay
Eigenschaft festgelegt ist.display
Eigenschaft auf ein Element setzen möchten, wenn es nicht über dashidden
Attribut verfügt, zielen Sie wie.my-el:not([hidden]) { display: flex }
Sie sollten JS für Verhalten und CSS für visuelle Süßigkeiten so viel wie möglich denken. Indem Sie Ihren HTML-Code ein wenig ändern:
Sie können einfach mithilfe von CSS-Regeln von einer Ansicht zur anderen wechseln:
Und JS-Code, der zwischen den beiden Klassen wechselt
quelle
Obwohl diese Frage schon oft beantwortet wurde, dachte ich, ich würde sie mit einer vollständigeren und solideren Antwort für zukünftige Benutzer ergänzen. Die Hauptantwort löst das Problem, aber ich glaube, es ist besser, einige der verschiedenen Möglichkeiten zu kennen / verstehen, Dinge zu zeigen / zu verbergen.
.
Ändern der Anzeige mit css ()
So habe ich es gemacht, bis ich einige dieser anderen Wege gefunden habe.
Javascript:
Vorteile:
Nachteile:
$("#element_to_hid").css("display", "inline");
sonst wird standardmäßig "Blockieren" oder was auch immer, in das es gezwungen wird, zurückgesetzt.Beispiel: https://jsfiddle.net/4chd6e5r/1/
.
Ändern der Anzeige mit addClass () / removeClass ()
Beim Einrichten des Beispiels für dieses Beispiel bin ich tatsächlich auf einige Fehler bei dieser Methode gestoßen, die sie sehr, sehr unzuverlässig machen.
CSS / Javascript:
Vorteile:
$(".hidden")
.Nachteile:
Beispiel: https://jsfiddle.net/476oha8t/8/
.
Ändern der Anzeige mit toggle ()
Javascript:
Vorteile:
Nachteile:
Beispiel: https://jsfiddle.net/cxcawkyk/1/
.
Ändern der Anzeige mit hide () / show ()
Javascript:
Vorteile:
Nachteile:
Beispiel: https://jsfiddle.net/k0ukhmfL/
.
Insgesamt würde ich sagen, dass es am besten ist, hide () / show () zu sein, es sei denn, Sie benötigen es ausdrücklich, um umzuschalten. Ich hoffe, Sie fanden diese Informationen hilfreich.
quelle
$("#element_to_hide").hidden = true/false
Erstellen Sie einfach selbst Methoden zum Ausblenden und Anzeigen für alle Elemente wie folgt
Danach können Sie die Methoden mit den üblichen Elementkennungen wie in diesen Beispielen verwenden:
oder:
quelle
Ich empfehle Javascript, weil es relativ schnell und formbarer ist.
quelle
Wenn Sie es in einer Tabelle verwenden, verwenden Sie Folgendes: -
quelle
Vanilla JS für Klassen und IDs
Nach ID
Nach Klasse (Einzelelement)
Nach Klasse (mehrere Elemente)
quelle