Проблемы с переключением текста ссылки с помощью JQ
Вопрос
Я пытаюсь использовать этот код для переключения текста по ссылке:
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);
});
Но это не работает!Как и обычное если...остальное строительство.Может кто-нибудь, пожалуйста, укажите мне, что здесь не так.Спасибо!
Решение
Использовать toggle
вспомогательная функция:
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);
}
);
Из документации toggle
:
Всякий раз, когда нажимается соответствующий элемент, первая указанная функция запускается, когда нажимает снова, вторая запускается.Все последующие клики продолжают вращаться через две функции.
Не связан с StackOverflow