怎样让选中的label 改变颜色?

本文介绍了一种方法,即如何使HTML中的label组件在选中时改变颜色。通过使用jQuery来实现对label标签内input元素状态的检测,并在选中时修改label的样式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

怎样让选中的label 改变颜色?

今天遇到这样一个问题 要求一个label 组件 其中的input选中的时候 label 里面的颜色是蓝色

ExpandedBlockStart.gif代码
<div id="sld">
<p><label><input  name="" type="checkbox" value="" /> 飞机</label></p>
<p><label><input  name="" type="checkbox" value="" /> 飞机</label></p>
<p><label><input  name="" type="checkbox" value="" /> 飞机</label></p>
<p><label><input  name="" type="checkbox" value="" /> 飞机</label></p>
</div>

开始是想通过 控制 label底下的input 的 checked属性 为"checked" 或者 "",并且 给当前label toggleClass

结果却不行~~

最后发现原来如果 input 具有 checked="" 属性时 就默认是选中了  ,那么取消选中的操作 应该是 removeAttr("checked")才对

最终写成了:

 

 

$("#sld label").click(function(){
                                
if($(this).find("input").attr("checked")){
                                    $(
this).find("input").removeAttr("checked");
                                }
else{
                                    $(
this).find("input").attr("checked","checked");
                                }
                                
                                $(
this).toggleClass("chd");
                                
return false;
                            })

问题解决

 PS:

最终解决方法:

 $("#sld label input").click(function(){
                  $(this).parents("label").toggleClass("chd");
    })

 虽然IE6下不相应LABLE 的点击 (只能用for了)但是IE6 这种垃圾浏览器实在懒得管了 由它去吧~~

 虽然第一个方法没有用到,但是还是得知了 取消选中的方法。

 

转载于:https://www.cnblogs.com/trance/archive/2010/03/23/1692601.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值