使用jquery做复选框的全选,全不选

本文深入探讨了 jQuery 1.6 版本中引入的 prop 方法,与之前的 attr 方法相比,prop 方法在处理属性如 checked、disabled 等时提供了更一致且强大的功能。文章详细解释了何时使用 attr,何时使用 prop,以及它们在不同场景下的应用区别。通过对比,读者能够清晰地了解 prop 方法的优势,并在实际项目中做出正确的选择。

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

<script type="text/javascript">
    $(function() {
        $("#select").click(function() {  
             if(this.checked){  
                $("input[name=Checkbox1]").each(function() {  
                    $(this).prop("checked", true);  
                });  
            } else {  
                $("input[name=Checkbox1]").each(function() {  
                    $(this).prop("checked", false);  
                });  
            }  
        }); 
    });

</script>


<input id="select" type="checkbox" />全选
<input id="select_reverse" type="checkbox" />反选
<input name="Checkbox1" type="checkbox" />
<input name="Checkbox1" type="checkbox" />
<input name="Checkbox1" type="checkbox" />
<input name="Checkbox1" type="checkbox" />
<input name="Checkbox1" type="checkbox" />
<input name="Checkbox1" type="checkbox" />

之前一直是用attr来进行设置,但是只能操作一次全选全不选,继续操作的话就无法实现!后面用prop方法才可以持续实现。


为什么jquery 1.6+增加了.prop()方法,因为在有些浏览器中比如说只要写disabled,checked就可以了,而有的要写成disabled = "disabled",checked="checked"。所以,从1.6开始,jq提供新的方法“prop”来获取这些属性。
 以前我们使用attr获取checked属性时返回"checked"和"",现在使用prop方法获取属性则统一返回true和false。
那么,什么时候使用attr,什么时候使用prop??
1.添加属性名称该属性就会生效应该使用prop.
2.是有true,false两个属性使用prop.
3.其他则使用attr
项目中jquery升级的时候大家要注意这点!
以下是官方建议attr(),prop()的使用:
 
Attribute/Property .attr() .prop()
accesskey  
align  
async
autofocus
checked
class  
contenteditable  
draggable  
href  
id  
label  
location ( i.e. window.location )
multiple
readOnly
rel  
selected
src  
tabindex  
title  
type  
width ( if needed over .width() )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值