在我写这篇文章时出现的大多数类似问题都像 this (用户希望使用纯 JS 切换元素的类)或 this (用户希望使用 jQuery 切换其他属性)
我的问题是两者的结合。我知道 el.classList.toggle()
方法存在用于使用纯 JS 切换元素的类,但我希望使用纯 JS 切换不同的属性,特别是 checked
某些广播按钮的属性,因为选择不同的选项时(令人讨厌的)不会更改。
是否可以使用纯 JS 在我的两个单选按钮上切换 checked
属性(切换我的意思是如果元素存在则完全从元素中删除该属性,如果不存在则添加它)?
radios = document.getElementsByName("Floor");
for (i = 0; i < radios.length; i++) {
radios[i].addEventListener('change', function () {
this.(/*checked attribute*/).toggle()
}, false);
}
<input checked id="Floor" name="Floor" type="radio" value="0">Ground Floor
<input id="Floor" name="Floor" type="radio" value="1">First Floor
编辑 possible duplicate question评论中提到的并不能完全解决我的问题。我不需要更改哪个单选按钮显示为已选中,我只想切换 checked
属性,以便我更轻松地引用稍后在代码中选中的按钮。当然,如果有另一种更简单的方法,我会洗耳恭听。
最佳答案
实际上有一个用于 bool 属性的 Element.toggleAttribute
方法。 MDN Docs .
但是,由于 IE 不支持它,您可能需要添加 MDN Polyfill
关于javascript - 如何使用纯 JavaScript 切换元素的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45330514/