这是一个错误还是我错过了什么?
我创建了一些与任何文档分离的无线电输入,并检查它们。我希望只有第二个留下来检查,但都保持检查:
var container = document.createElement('div');
container.innerHTML =
'<input type="radio" name="tiny" value="elephants">' +
'<input type="radio" name="tiny" value="robots">';
var radios = container.querySelectorAll('[name=tiny]');
// Select one, then the other while detached
radios[0].checked = true;
radios[1].checked = true;
console.log(radios[0].checked);
// true
console.log(radios[1].checked);
// true
如果我将相同的container
附加到文档,则会强制执行独占检查:
document.body.appendChild(container);
radios[0].checked = true;
radios[1].checked = true;
console.log(radios[0].checked);
// false
console.log(radios[1].checked);
// true
在我看来,这些无线电符合the spec对单个单选按钮组的定义。如果我将包含元素切换为表单,则即使在分离时也会同步检查。到目前为止,我只在Chrome 25中检查了这一点。