Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.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 js按钮未更新innerhtml_Javascript_Html - Fatal编程技术网

Javascript js按钮未更新innerhtml

Javascript js按钮未更新innerhtml,javascript,html,Javascript,Html,我在这里已经研究了很多问题,但没有发现类似的问题。我试图给一个按钮一个更新变量的函数(特别是一个数字,即-按钮按下>0变成1),并将其写入div的innerHTML)。它会在警报中更新,但不会更新innerHTML var example = 0; var exampleDiv = document.getElementById('exampleDiv'); function buyExample() { example += 1; } exampleDiv.innerHTML = 'Y

我在这里已经研究了很多问题,但没有发现类似的问题。我试图给一个按钮一个更新变量的函数(特别是一个数字,即-按钮按下>
0
变成
1
),并将其写入
div
innerHTML
)。它会在警报中更新,但不会更新
innerHTML

var example = 0;
var exampleDiv = document.getElementById('exampleDiv');

function buyExample() {
  example += 1;
}

exampleDiv.innerHTML = 'You have ' + example + ' examples.';

网页上显示的数字是0。

您的代码工作不正常,因为
exampleDiv.innerHTML
只设置了一次。您必须将其移动到函数

var示例=0;
var exampleDiv=document.getElementById('exampleDiv');
render();
函数buyExample(){
示例+=1;
render();
}
函数render(){
exampleDiv.innerHTML='您有'+example+'个示例';
}
按钮

根据您给出的上下文,您的声明:

exampleDiv.innerHTML = 'You have ' + example + ' examples.';
将仅在Javascript初始化时运行一次,此时示例变量仍设置为0。如果希望每次使用按钮时都更新div,那么还需要将其包含在buyExample()方法中

function buyExample() {
    example += 1;
    exampleDiv.innerHTML = 'You have ' + example + ' examples.';
}

基于我上述评论的工作代码:

var示例=0;
var exampleDiv=document.getElementById('exampleDiv');
函数buyExample(){
示例+=1;
exampleDiv.innerHTML='您有'+example+'example'+(example!==1?'s':'')+';
}
document.getElementById(“incrementButton”).onclick=buyExample
点击我

您有0个示例。
您必须将更新DOM的语句移动到每次单击按钮时运行的函数中。按照您的方式,
innerHTML
在页面加载时设置一次,变量
example
在每次单击时都会更新,但您不会再次将
example
的值设置到页面

var示例=0;
var exampleDiv=document.getElementById('exampleDiv');
函数buyExample(){
示例+=1;
exampleDiv.innerHTML='您有'+example+'个示例';
}
您有0个示例。

buy
你能提供你的html代码吗?你可能希望
exampleDiv.innerHTML=…
buyExample
函数中,但是你还没有分享足够的代码让任何人确信。你必须提供完整的代码才能确信,但不能仅仅因为增加了“example”,就期望exampleDiv.innerHTML被更新。最可能的情况是,您还必须在buyExample()函数中设置exampleDiv.innerHTML。您从不调用
buyExample
,因此它永远不会增加。
exampleDiv.innerHTML='您有'+example+'示例'进入buyExample()函数内部。