<html>
<head>
<meta charset="utf-8" />
<title></title>
<script>
window.onload = function ()
{
var oFruit = document.getElementsByName("fruit");
var oP = document.getElementById("content");
for (var i = 0; i < oFruit.length; i++)
{
oFruit[i].onchange = function ()
{
if (this.checked) //这条判断语句
{
oP.innerHTML = "你选择的是:" + this.value;
}
};
}
}
</script>
</head>
<body>
<div>
<label><input type="radio" name="fruit" value="苹果" />苹果</label>
<label><input type="radio" name="fruit" value="香蕉" />香蕉</label>
<label><input type="radio" name="fruit" value="西瓜" />西瓜</label>
</div>
<p id="content"></p>
</body>
</html>
当触发onchange事件,不久意味着被选中了吗?为啥还要加上 if (this.checked)
onchange :改变后触发;
this.checked:点击选中就触发;
场景一:我一直点击苹果,onchange 只有第一次才会触发,其他重复点击不会触发;而this.checked只要点击就触发
确实是这样的。去掉也不影响。radio只有一个能选中。