【发布时间】:2021-06-02 11:51:34
【问题描述】:
我有 4 个无线电输入,由 div 分隔。我想选择输入,并更改卡片边框。但是事件监听器只有在选中时才起作用,在未选中时不起作用。
Codepen 版本https://codepen.io/nazarenoalt/pen/dyOKqYp
const radioList = document.querySelectorAll('.back-product.radio')
const cardList = document.querySelectorAll('.back-product.card')
for(let i = 0; i < radioList.length; i++) {
radioList[i].addEventListener('change', function() {
cardList[i].style.border = '2px solid lightblue';
if(!radioList[i].checked) {
cardList[i].style.border = '1px solid gray';
}
})
}
HTML
<div class="card back-product">
<input type="radio" class="back-product radio" name="product">
</div>
<div class="card back-product">
<input type="radio" class="back-product radio" name="product">
</div>
<div class="card back-product">
<input type="radio" class="back-product radio" name="product">
</div>
<div class="card back-product">
<input type="radio" class="back-product radio" name="product">
</div>
【问题讨论】:
-
使用类!让一切变得如此简单
标签: javascript html events radio