Javascript 尝试使用onclick调用函数时未定义值

Javascript 尝试使用onclick调用函数时未定义值,javascript,html,Javascript,Html,当我试图将(onclick)值发送到toggle_sprint()函数时,我得到一个错误,该值未定义。为什么没有定义?当我输入value=“false”时,我认为它得到了定义,但显然不是 <div class="select"> <div id="toggle_sprint" value="false" onclick="toggle_sprint(value);" >Toggle Sprint</div> </div> 切换短跑 d

当我试图将(onclick)值发送到toggle_sprint()函数时,我得到一个错误,该值未定义。为什么没有定义?当我输入value=“false”时,我认为它得到了定义,但显然不是

<div class="select">
    <div id="toggle_sprint" value="false" onclick="toggle_sprint(value);" >Toggle Sprint</div>

</div>

切换短跑

div元素没有
属性……而且div元素不是为交互而设计的,因此在div上单击
onclick
会产生一系列可访问性问题

此外,您还可以使用

从编写好的HTML开始

使用
data-*
属性仅为您的JS提供数据。使用按钮提供单击和触发JS的内容

然后用JavaScript绑定事件处理程序

document.getElementById(“toggle_sprint”).addEventListener(“单击”),函数(事件){
切换_sprint(this.dataset.value);
});
函数切换_sprint(arg){
控制台日志(arg);
}

切换短跑

当您单击它时,它正在您的作用域中查找一个名为
value
的变量,但该变量不存在。div没有值属性。请注意,
addEventListener
在IE 9下不起作用。