javascript - checkbox 元素的 checked 属性什么时候添加到 DOM 中?

标签 javascript html css checkbox


我需要将所有选中的复选框着色为绿色,将未选中的复选框着色为红色。

<style>
 input[type=checkbox]+span{
   color:red;
 }
 input[type=checkbox][checked]+span{
    color:green;
 }
</style>
<label>
    <input type="checkbox" class="bike"/>
    <span>I have a bike</span></label>
<label> 
    <input type="checkbox" checked class="car"/>
    <span>I have a car</span>
</label>

页面加载时看起来不错。但是后来,当用户点击任何复选框时,它们的颜色没有改变。调试后,我知道当用户点击发生时, checked 属性没有添加到 input 标签中。有人能告诉我原因吗?

我尝试显式地放置 checked 属性然后它运行良好。

<button>Click</button>

    <script>
    $('button').click(function(){
        $('.bike').attr('checked',true);
    });
    </script>

但我不想使用任何脚本来实现这一点。有什么办法可以实现吗?
什么时候 checked 属性被添加到复选框以使其被选中? 这是 jsfiddle .

最佳答案

有一个 :checked 伪选择器 ( updated fiddle )

为了完整起见,这里是目前对它的支持:( from MDN )

Chrome  Firefox (Gecko)       Internet Explorer  Opera  Safari
1.0     1.0 (1.7 or earlier)  9.0                9.0    3.1

关于javascript - checkbox 元素的 checked 属性什么时候添加到 DOM 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18079288/

相关文章:

javascript - 使用javascript函数参数影响不同的变量

javascript - 传单JS : prevent clicking on map when clicking on circlemarker

html - Microsoft.com 上的下拉箭头

javascript - 添加 wrap div 后使 div 的脚本相互独立

html - 定位 iFrame 内容

html - 如何使用 css 将 View 拆分为两列

CSS 父类优于其他 CSS 类

javascript - 如何从SRC中过滤掉文件名?

javascript - 如何使用单选按钮值设置复选框选择限制

css - 在 SVG 渐变半径之外设置焦点 Chrome 上的渐变