Проблемы с переключением текста ссылки с помощью JQ

StackOverflow https://stackoverflow.com/questions/874346

  •  22-08-2019
  •  | 
  •  

Вопрос

Я пытаюсь использовать этот код для переключения текста по ссылке:

var showText="<span>Open</span> &darr;";
var hideText="<span>Close</span> &uarr;";
$('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> &darr;";
var hideText="<span>Close</span> &uarr;";
$('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:

Всякий раз, когда нажимается соответствующий элемент, первая указанная функция запускается, когда нажимает снова, вторая запускается.Все последующие клики продолжают вращаться через две функции.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top