У меня есть этот div:

<div class="signs" id="signs" onclick="toggle()">&#43;</div>

Который отображает положительный знак. при нажатии на него я хочу изменить его на отрицательный знак с помощью html-кода &#8722;:

function toggle() {
  var x = document.getElementById("signs");
  if (x.textContent === `&#43`) {
    x.textContent = `&#8722;`;
  } else {
    x.textContent = `&#43;`;
  }
}

Но функция toggle меняет знак плюса на обычный текст &#8722;, а не знак минус! Как я могу добиться изменения положительного знака на отрицательный с помощью javascript с моей структурой выше?

1
seyet 8 Июл 2021 в 10:34

3 ответа

Лучший ответ

Ты можешь попробовать

        function toggle() {
            var x = document.getElementById("signs");
            if (x.textContent == `+`) {
                x.textContent = `-`;
            } else {
                x.textContent = `+`;
            }
        }

Этот?

2
mrdenizlp 8 Июл 2021 в 07:41

Получить код объекта с помощью charCodeAt(), затем обновить элемент с помощью .innerHTML

function toggle() {
  var x = document.getElementById("signs");
  var code = x.textContent.charCodeAt();
  if (code === 43) {
    x.innerHTML = `&#8722;`;
  } else {
    x.innerHTML = `&#43;`;
  }
}
<div class="signs" id="signs" onclick="toggle()">&#43;</div>
2
Fabrizio Calderan 8 Июл 2021 в 07:43
 function toggle() {
            var x = document.getElementById("signs").textContent;
            if (x == `+`) {
                x = `-`;
            } else {
                x = `+`;
            }
             document.getElementById("signs").innerHTML = x;  
        }
    <div class="signs" id="signs" onclick="toggle()">+</div>
0
Neha Dhiman 8 Июл 2021 в 08:02