在javascript中,我有指针获取水果的名称。但警报始终显示为null。 我检查了我的逻辑,但无法找到问题。有什么建议?谢谢!
<!DOCTYPE html>
<html>
<head>
<title>My Fruit</title>
<script type="text/javascript">
function checkFruit(){
var fruit_radio_pointers = document.querySelector('[name="fruit"]');
var which_fruit = null;
for(var i=0; i<fruit_radio_pointers.length; i++){
if(fruit_radio_pointers[i].checked){
which_fruit = fruit_radio_pointers[i].value;
break;
}
}
alert(which_fruit);
}
//document.getElementById("my_btn").addEventListener("click", checkFruit, false);
</script>
</head>
<body>
<p>
<input name="fruit" type="radio" value="apple" /> Apple<br />
<input name="fruit" type="radio" value="cherry" /> Cherry
</p>
<p>
<button id="my_btn" onclick="checkFruit()" >Which Fruit?</button>
</p>
</body>
</html>
答案 0 :(得分:4)
var fruit_radio_pointers = document.querySelectorAll('[name="fruit"]');
querySelector
仅返回找到的第一个匹配项(不是数组)
它等于document.querySelectorAll('[name="fruit"]')[0]
正如您可能已经想到的那样,querySelectorAll
将所有找到的匹配作为数组返回。