【问题标题】:changing text inside a div to negative html code using javascript使用javascript将div内的文本更改为负html代码
【发布时间】:2021-07-08 07:34:47
【问题描述】:

我有这个 div:

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

显示正号。点击它时,我想用html代码将其更改为负号&amp;#8722;

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

但是toggle 函数将正号更改为纯文本&amp;#8722; 而不是负号!如何在上面的结构中使用 javascript 将正号更改为负号?

【问题讨论】:

    标签: javascript html css function templates


    【解决方案1】:

    你可以试试

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

    这个?

    【讨论】:

      【解决方案2】:

      使用charCodeAt()检索实体代码,然后通过.innerHTML更新元素

      function toggle() {
        var x = document.getElementById("signs");
        var code = x.textContent.charCodeAt();
        if (code === 43) {
          x.innerHTML = `&#8722;`;
        } else {
          x.innerHTML = `&#43;`;
        }
      }
      &lt;div class="signs" id="signs" onclick="toggle()"&gt;&amp;#43;&lt;/div&gt;

      【讨论】:

        【解决方案3】:

         function toggle() {
                    var x = document.getElementById("signs").textContent;
                    if (x == `+`) {
                        x = `-`;
                    } else {
                        x = `+`;
                    }
                     document.getElementById("signs").innerHTML = x;  
                }
            &lt;div class="signs" id="signs" onclick="toggle()"&gt;+&lt;/div&gt;

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-01-03
          • 2015-12-24
          • 2022-01-06
          • 1970-01-01
          相关资源
          最近更新 更多