为什么我不能在变量上使用innerHTML属性?

use*_*782 -2 html javascript innerhtml

假设我有以下html : div id="my_div"><span>no no</span></div>. 我想改变文本无无有有.我可以这样做:

document.getElementById("my_div").getElementsByTagName('span')[0].innerHTML = "yes yes"
Run Code Online (Sandbox Code Playgroud)

但是,如果我想将事物用作以下变量:

var x = document.getElementById("my_div").getElementsByTagName('span')[0].innerHTML;    
    x = "yes yes";
Run Code Online (Sandbox Code Playgroud)

现在的文字不会没有改变.为什么?

gur*_*372 5

要更改值,您需要为对象分配新值,同时为引用本身分配新值.

试试这个

var x = document.getElementById("my_div").getElementsByTagName('span')[0];    
x.innerHTML = "yes yes";
Run Code Online (Sandbox Code Playgroud)