复选框的js与jQuery

在JavaScript中,for循环是重要的一节。很多案例都需要它,而在复选框中,for循环就是JavaScript中的主体。这个案例的样式就是3个按钮,分别为全选、全不选以及反选。

  在复选框中,“checked”有自动选择的效果。在全选中,采用for循环,使其所有选项添加checked。全不选与其相似只不过是将其删除。而反选则需要用for循环中嵌套if判断语句。

  

上图中,tst为所有被选中的复选框。

JavaScript相对简单,但在jQuery中,这一个案例并不简单。按照JavaScript中的翻版,只需要加上属性与属性值便可以达到效果。

而在jQuery中,attr()便是这种功能,但如果使用attr(),那么这个案例就只会是一个半成品。只有按钮才有效,如果单独勾选出一个选项,按钮就不会再对这个选项起作用。所以我们不能使用attr()方法。

对于这个我们需要使用prop()方法

看上图,使用each()方法循环遍历每一个选项。

is是根据选择器、DOM元素或 jQuery 对象来检测匹配元素集合,如果其中至少有一个元素符合这个给定的表达式就返回true。如果没有元素符合,或者表达式无效,都返回'false'。

而":checked"则是一个筛选选择器,筛选出有checked这个属性的选项而做出改变。

attr()方法与prop()方法很相似,但终究有着不同

attr():

attr() 方法设置或返回被选元素的属性和值。

当该方法用于返回属性值,则返回第一个匹配元素的值。

当该方法用于设置属性值,则为匹配元素设置一个或多个属性/值对。 prop():

prop() 方法设置或返回被选元素的属性和值。

当该方法用于返回属性值时,则返回第一个匹配元素的值。

当该方法用于设置属性值时,则为匹配元素集合设置一个或多个属性/值对。

它们的不同很重要的是:

$('').attr()返回的是 html 对象。

$('').prop()返回的是 DOM 对象。

prop()方法的操作:

prop()方法操作radio(checkbox)之类,让其选中的时候,选中的值也会随之改变。即既可以控制其选中,也能控制其取消选中;

类似于$("对象").attr("checked");返回的是 true 或者 false;

如果有相应的属性,返回的是该属性,如果没有则返回空串;

attr()方法的操作

attr()方法操作 radio(checkbox)之类,让其选中的时候,其选中的值不会随之改变。即只能控制其选中,不能控制其取消选中;

类似于$("对象").attr("checked");返回的是'checked'或者 undefined;

如果有相应的属性,返回的是该属性,如果没有则返回 undefined;

attr 和 prop 使用的地方:

1. 添加属性名称该属性就会生效应该使用 prop()方法。

2.当遇到有true,false两个属性(如‘checked’,‘selected’,‘disabled’等)就使用prop()方法。

3.其他的则使用 attr()方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值