我不知道为什么click
事件没有调用btn()
函数。
function btn() {
var radio = document.getElementsByTagName("input");
for (var i = 0; i > radio.length; i++){
if (radio[i].checked){
alert(radio[i].value);
}
else{
alert("lol");
}
}
}

<input name="r" value="1" type="radio">
<input name="r" value="2" type="radio">
<input name="r" value="3" type="radio">
<button onclick="btn()">hm</button>
&#13;
答案 0 :(得分:4)
我不知道为什么click事件没有调用btn()函数。
它只是因为它有逻辑错误而永远不会进入你的循环
for (var i = 0; i > radio.length; i++){
i
从不大于radio.length
。这应该是一个不到标志
for (var i = 0; i < radio.length; i++){
答案 1 :(得分:2)
检查此行:
for (var i = 0; i < radio.length; i++){
function btn() {
var radio = document.getElementsByTagName("input");
for (var i = 0; i < radio.length; i++){
if (radio[i].checked){
alert(radio[i].value);
}
else{
alert("lol");
}
}
}
&#13;
<input name="r" value="1" type="radio">
<input name="r" value="2" type="radio">
<input name="r" value="3" type="radio">
<button onclick="btn()">hm</button>
&#13;
答案 2 :(得分:2)
您的处理程序确实运行,它的for循环错误。它永远不会迭代,因为i > radio.length
它应该是i < radio.length
。
我还想使用html onclick
来添加绑定事件,这不是一个好主意。建议最好使用addEventListener
。
document.getElementById('goBtn').addEventListener('click', btn);
这使您可以更好地控制已绑定的事件,允许您轻松删除它们并为同一事件添加多个。