javascript - 如何使用纯 JavaScript 切换元素的属性?

标签 javascript html

在我写这篇文章时出现的大多数类似问题都像 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/

相关文章:

html - 当用户从网页复制网格并将其粘贴到记事本时复制网格线

html - 在保持内容定位的同时将动画设置为零

javascript - 使用requirejs优化器统一一个JS文件

javascript - CSS问题: absolute positioned span would not extend out of containing div

javascript - 这个运算符 (=$) 在 Javascript 中是什么意思?

javascript - Jquery 下拉页面?触摸屏友好的下拉菜单

Jquery 的 JavaScript querySelector 版本

javascript - Node.js console.log - 是否可以更新一行而不是创建一个新行?

javascript - 从另一个 html 文件追加 div

javascript - 显示消息而不重新加载 html 页面