您好我有一些代码,我在其中通过html接收用户输入并将其分配给两个全局变量
var spursscoref = document.getElementById("spursscore").value;
var livscoref = document.getElementById("livscore").value;
下一个在addeventlistener函数中显示为whowon函数的参数
var d = document.querySelector("#gut2");
d.addEventListener("click", function () {
whowon(spursscoref, livscoref, spurs, liverpool)
}, false);
click事件旨在触发whowon函数并传入参数
function whowon(FirstScore, SecondScore, FirstTeam, SecondTeam) {
if (FirstScore > SecondScore) {
FirstTeam.win();
SecondTeam.lose();
} else if (FirstScore < SecondScore) {
SecondTeam.win();
} else {
FirstTeam.draw();
SecondTeam.draw();
}
}
但是值为null,因为我在这一行上无法读取null错误的属性
var spursscoref = document.getElementById(&#34; spursscore&#34;)。value;
我很确定问题来自addlistener函数,任何帮助都会受到赞赏
答案 0 :(得分:2)
你可以做这样的事情 -
$( document ).ready(function() {
var d = document.querySelector("#gut2");
d.addEventListener("click", function () {
var spursscoref = document.getElementById("spursscore").value;
var livscoref = document.getElementById("livscore").value;
whowon(spursscoref, livscoref, spurs, liverpool)
}, false);
});
将代码包装在$(document).ready(function(){})中。这将确保在执行Javascript代码之前加载所有DOM元素。
答案 1 :(得分:0)
尝试将所有代码放在此
中document.addEventListener("DOMContentLoaded", function(event) {
//Your code here
});
我的猜测是你的代码在html实际加载之前执行,导致它返回null。