Переключение между двумя состояниями в Javascript (и показывает скрытый текст)

#javascript

#javascript

Вопрос:

В Javascript я хотел бы переключаться между двумя разными состояниями в зависимости от того, нажал ли пользователь на ссылку (что также делает скрытый текст видимым). К сожалению, это не работает.

Есть идеи для моего кода ниже?

 function toggleDiv(divId) {
   $("#" divId).toggle();
   }

function swapStatus() {
  var x = document.getElementById("impctistmehr");
  if (x.innerHTML === "MEHR") {
    x.innerHTML = "Weniger";
  } else {
    x.innerHTML = "MEHR";
  }
}
</script>

<a href="javascript:toggleDiv('impctist');" onclick="mswapStatus();" style="font-size:14px" class="impctistmehr"><strong>MEHR</strong></a>```
  

Комментарии:

1. не используйте innerHTML для вашего состояния.

2. Кроме того, у вашего якоря нет id ; у него есть только class of impctistmehr . Используйте document.querySelector(".impctistmehr") .

3. Кроме того, вы не должны запускать две функции, используя javascript: scheme в href атрибуте. Вместо этого просто вызовите обе функции в третьей функции, подключенной к click прослушивателю событий.

4. Вот код, основанный на вашем вводе … все еще не работает. Есть идеи? <script type="text/javascript"> function toggleDiv(divId) { $("#" divId).toggle(); } function swapStatus() { var x = document.querySelector(".impctistmehr") if (x === "MEHR") { x = "Weniger"; } else { x = "MEHR"; } } </script> <a href="javascript:toggleDiv('impctist');" onclick="swapStatus();" style="font-size:14px" class="impctistmehr"><strong>MEHR</strong></a>

Ответ №1:

Там опечатка: onclick="mswapStatus();" , попробуйте onclick="swapStatus();" .

Ответ №2:

Здесь вы используете метод getElementById для получения элемента на основе класса.

Вы можете использовать document.Выбор запроса(‘.classname’) для получения через класс или присвоение элементу идентификатора ‘impctistmehr’.

Также есть опечатка в методе, вызывающем swapstatus.