仅使用 javascript 检查第一个单选按钮作为默认值
checked first radio button as default using javascript only
<input id="a" type="radio" name="radioButton">
<input id="b" type="radio" name="radioButton">
<input id="c" type="radio" name="radioButton">
<input id="d" type="radio" name="radioButton">
假设我有四个单选按钮,如何通过仅使用 javascript 将 first-child
设置为默认 checked
,请不要使用 jQuery。
这是我做过但没有奏效的。提前致谢。
document.querySelectorAll('[name=radioButon]:first-child').checked = true;
您的示例不起作用的原因是 .querySelectorAll()
returns a NodeList
of elements。您需要遍历列表中的每个元素才能将 checked
属性 设置为 true
:
var elements = document.querySelectorAll('[name=radioButton]:first-child');
Array.prototype.forEach.call(elements, function(el) { el.checked = true; });
或者,您也可以访问第一个匹配元素:
document.querySelectorAll('[name=radioButton]')[0].checked = true;
// or..
document.querySelector('[name=radioButton]').checked = true;
作为旁注,您也有错字。
属性选择器 [name=radioButon]
应该是 [name=radioButton]
。
<input id="a" type="radio" name="radioButton">
<input id="b" type="radio" name="radioButton">
<input id="c" type="radio" name="radioButton">
<input id="d" type="radio" name="radioButton">
假设我有四个单选按钮,如何通过仅使用 javascript 将 first-child
设置为默认 checked
,请不要使用 jQuery。
这是我做过但没有奏效的。提前致谢。
document.querySelectorAll('[name=radioButon]:first-child').checked = true;
您的示例不起作用的原因是 .querySelectorAll()
returns a NodeList
of elements。您需要遍历列表中的每个元素才能将 checked
属性 设置为 true
:
var elements = document.querySelectorAll('[name=radioButton]:first-child');
Array.prototype.forEach.call(elements, function(el) { el.checked = true; });
或者,您也可以访问第一个匹配元素:
document.querySelectorAll('[name=radioButton]')[0].checked = true;
// or..
document.querySelector('[name=radioButton]').checked = true;
作为旁注,您也有错字。
属性选择器 [name=radioButon]
应该是 [name=radioButton]
。