Javascript 单选按钮-未选择任何选项

Javascript 单选按钮-未选择任何选项,javascript,radio-button,Javascript,Radio Button,我基本上是在尝试构建一个简单的问答游戏来学习JavaScript。 当显示下一个问题时,如何使单选按钮未选择on选项 我尝试过类似的方法,但这是JQuery $('[name="ans"]').prop('checked', false); 如果确实想避免使用jQuery,可以尝试以下方法: var radios = document.getElementsByName('an'); for(i = 0; i < radios.length; i++){ radios[i].

我基本上是在尝试构建一个简单的问答游戏来学习JavaScript。 当显示下一个问题时,如何使单选按钮未选择on选项

我尝试过类似的方法,但这是JQuery

$('[name="ans"]').prop('checked', false); 

如果确实想避免使用jQuery,可以尝试以下方法:

var radios = document.getElementsByName('an');
for(i = 0; i < radios.length; i++){
    radios[i].checked = false;
}
var radios=document.getElementsByName('an');
对于(i=0;i


请注意,第二个单选元素在HTML中被选中,但此代码将在每个
nextQ()
调用上执行。如果您确定用户使用的是支持DOM
文档的最新浏览器。querySelector()
方法,则可以使用:

document.querySelector('input[type="radio"]:checked').checked = false;

querySelector()
的好处是,它只返回与选择器模式匹配的第一个元素(假设它与任何元素匹配)(不过,如果要获取所有匹配的元素,可以使用
document.queryselectoral()

当然,
文档
可以替换为am元素节点引用(例如,将方法限制为仅搜索表单,而不是整个文档)

参考资料:


如果您提供了一个隐藏选项并将其设置为默认选项,那么可能会出现重复的情况?Try@dc5对我来说似乎很清楚,OP不想让我们使用jqueryeah-请重新阅读刚才的内容…您会推荐Jquery而不是我当前的设置吗?在我看来,Jquery可能是一种更有效的方法。但我只是在学习…可能是用javascript/document.getElementByIdStick和vanilla JS使用当前方式的慢方法。最终,您将能够更好地了解浏览器及其差异。如果您想在代码中更高效一点,可以稍微更改一下数据结构,存储初始化时要访问的任何dom元素,然后循环使用它们。另外,介绍一些CSS,让它为您做一些工作@HattrickNZ有时使用jQuery有利于兼容性,但使用普通JavaScript往往更有效…@dc5非常感谢这一点。我自己也在学习,知道有很多更好的方法可以做到这一点。因此,感谢您提供参考的示例@dc5这些链接帮助我更好地理解你的代码,你如何隐藏和取消隐藏优秀的东西;你真的很受欢迎;我很高兴能帮上忙!=)