Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么可以';我不能在变量上使用innerHTML属性吗?_Javascript_Html_Innerhtml - Fatal编程技术网

Javascript 为什么可以';我不能在变量上使用innerHTML属性吗?

Javascript 为什么可以';我不能在变量上使用innerHTML属性吗?,javascript,html,innerhtml,Javascript,Html,Innerhtml,假设我有以下html: div id=“my\u div”>否否。我想将文本no改为yes。我可以这样做: document.getElementById("my_div").getElementsByTagName('span')[0].innerHTML = "yes yes" var x = document.getElementById("my_div").getElementsByTagName('span')[0].innerHTML; x = "yes yes";

假设我有以下html:
div id=“my\u div”>否否
。我想将文本no改为yes。我可以这样做:

document.getElementById("my_div").getElementsByTagName('span')[0].innerHTML = "yes yes"
var x = document.getElementById("my_div").getElementsByTagName('span')[0].innerHTML;    
    x = "yes yes";
但是,如果我想使用如下变量:

document.getElementById("my_div").getElementsByTagName('span')[0].innerHTML = "yes yes"
var x = document.getElementById("my_div").getElementsByTagName('span')[0].innerHTML;    
    x = "yes yes";

现在,文本no没有更改。为什么?

要更改该值,您需要为对象指定一个新值,同时为引用本身指定一个新值

试试这个

var x = document.getElementById("my_div").getElementsByTagName('span')[0];    
x.innerHTML = "yes yes";

您是否已检查浏览器控制台是否有错误?@NewToJS是的,我已检查浏览器控制台。它没有错误。为什么你能完全改变你的问题?你知道其他人只需点击你帖子下的
edited
,即可查看原始问题。。。这使得
gurvinder372
gurvinder372
post回答您的原始问题时,答案看起来是错误的。我已经标记了这个问题。@NewToJS我认为这个问题不清楚,因为它被否决了。所以我用一个简单的例子说明了这一点。请不要编辑你的问题,这样会使现有的答案无效。相反,要问一个新问题。
x
不是一个对象吗?它是指(首先)您为其分配了一个对象引用值,然后用一个新值替换它的引用。
=
在javascript中不充当赋值运算符吗?@gurvinder372请注意任何反对票,由于某些原因,user31782更改了问题,使您的答案看起来不正确。出于这个原因,我已经标记了这个问题。我会期待一个有代表性的人做得更好343@NewToJS是的,我注意到。。谢谢你让我知道。