Probleme Makeln Linktext mit JQ
Frage
Ich versuche, diesen Code zu verwenden, um Text auf dem Link Makel:
var showText="<span>Open</span> ↓";
var hideText="<span>Close</span> ↑";
$('h1').before('<a href="javascript:;" id="hc_toggle_close">' + showText + '</a>');
$('#hc_toggle_close').click(function () {
$('#hc_toggle_close:contains("Open")').html(hideText);
$('#hc_toggle_close:contains("Close")').html(showText);
});
Aber es funktioniert nicht! Neben einem üblichen if ... else Konstruktion. Könnte jemand zeigen Sie mir bitte, was hier los ist. Dank!
Lösung
Mit der toggle
Hilfsfunktion:
var showText="<span>Open</span> ↓";
var hideText="<span>Close</span> ↑";
$('h1').before('<a href="javascript:;" id="hc_toggle_close">' + showText + '</a>');
$('#hc_toggle_close').toggle(
function () {
$('#hc_toggle_close').html(hideText);
},
function () {
$('#hc_toggle_close').html(showText);
}
);
Aus der Dokumentation von toggle
:
Jedes Mal, wenn ein passendes Element angeklickt wird, die erste spezifizierte Funktion wird ausgelöst, wenn wieder angeklickt, ist die zweite gebrannt. Alle nachfolgenden Klicks weiter durch die beiden Funktionen zu drehen.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow