变量值不累积?

时间:2017-03-23 07:21:19

标签: javascript

嘿,我对JS很新,但无法弄清楚为什么顶部的3个变量没有累积?

var xe = 0;
var reckon = 0;
var books = 0;


document.getElementById('#go').addEventListener('click', function(){
questionOne();
});
document.getElementById('#macos').addEventListener('click',function(){
  addXe();
  questionThree();
});
document.getElementById('#windows').addEventListener('click',function(){
  questionThree();
});
document.getElementById('#linux').addEventListener('click', function(){
  questionThree();
});
document.getElementById('#large').addEventListener('click', function(){
  questionFour();
  addXe();
});



function addXe(){
  xe++;
};
function addReckon(){
  reckon++;
};
function addBooks(){
  books++;
};

其余代码只是一系列功能,可以打开和关闭div显示。 如果我错过了重要信息,请告诉我, 谢谢!

编辑:

github.com/daffron/accountingsoftware

我认为连接整个网站会更容易,问题是每次执行addXero功能时,它都不会累积var xero的值,我在其他功能中打印到控制台。谢谢 -

2 个答案:

答案 0 :(得分:3)

document.getElementById()的参数错误。 如果按钮的HTML代码是这样的:

<input type="button" id="go" />
<!-- OR like this: -->
<button id="go" ></button>

然后,您的javascript代码必须使用getElementById()方法访问该按钮:

document.getElementById("go");

所以,你的一个功能就像:

document.getElementById('go').addEventListener('click', function(){
questionOne();
});

但是,如果您已经使用过#go;#go&#39;因为您指的是CSS选择器,所以您必须使用querySelector方法代替getElementById

document.querySelector("#go");

因此,根据您的代码调用函数将是:

  document.querySelector('#go').addEventListener('click', function(){
    questionOne();
    });

答案 1 :(得分:0)

你应该有html标签示例

<label id="xeLbl">test</label>

并且在更改值后,您应该将其应用于html标签。

function addXe(){
  xe++;
  document.getElementById('xeLbl').innerHTML = xe;
};