#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
ofimpctistmehr
. Используйте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.