代码之家  ›  专栏  ›  技术社区  ›  JacopoStanchi

修改存储在变量not working中的innerHTML

  •  2
  • JacopoStanchi  · 技术社区  · 7 年前

    我想在变量中存储页面的显示区域( display 在代码中),即 陈列 div,但当我这样做时,我根本无法修改它的内容。

    function stored() {
      var display = document.getElementById("display").innerHTML;
      display = "Bonjour";
    }
    
    function notStored() {
      document.getElementById("display").innerHTML = "Hello";
    }
    <button onclick="stored()">Stored in variable</button>
    <button onclick="notStored()">Not stored in variable</button>
    <div id="display"></div>

    我该怎么办?

    谢谢你的帮助。

    2 回复  |  直到 7 年前
        1
  •  3
  •   CodeF0x    7 年前

    这是因为您为 display 变量您要做的是设置 innerHTML 属于 陈列 变量,如 stored .通过这样做,您存储了所需的 innerHTML 作为变量。

    function stored() {
      var stored = "Bonjour";
      var display = document.getElementById("display").innerHTML = stored;
    }
    
    function notStored() {
      document.getElementById("display").innerHTML = "Hello";
    }
    <button onclick="stored()">Stored in variable</button>
    <button onclick="notStored()">Not stored in variable</button>
    <div id="display"></div>
        2
  •  2
  •   Ele    7 年前

    innerHTML属性是一个简单的字符串,因此它是不可变的,此外,您只需为变量赋值,而不是更新当前HTML内容。

    需要为属性指定新值 innerHTML :

    function stored() {
      document.getElementById("display").innerHTML = "Bonjour";
    }
    
    function notStored() {
      document.getElementById("display").innerHTML = "Hello";
    }
    <button onclick="stored()">Stored in variable</button>
    <button onclick="notStored()">Not stored in variable</button>
    <div id="display"></div>