4 回答
TA贡献1802条经验 获得超4个赞
$('#el').prop('disabled', function(i, v) { return !v; });
该.prop()方法接受两个参数:
属性名称(禁用,选中,选择)为true或false
属性值,可以是:
(空)-返回当前值。
布尔值(true / false)-设置属性值。
函数 -对找到的每个元素执行,返回值用于设置属性。有两个参数传递;第一个参数是索引(每个找到的元素增加0、1、2)。第二个参数是元素的当前值(真/假)。
因此,在这种情况下,我使用了一个为我提供索引(i)和当前值(v)的函数,然后返回了当前值的相反值,因此属性状态被反转。
TA贡献1921条经验 获得超9个赞
我想获得完全的浏览器可比性disabled应该由该值设置disabled或将其删除!
这是我刚刚制作的一个小插件:
(function($) {
$.fn.toggleDisabled = function() {
return this.each(function() {
var $this = $(this);
if ($this.attr('disabled')) $this.removeAttr('disabled');
else $this.attr('disabled', 'disabled');
});
};
})(jQuery);
编辑:更新了示例链接/代码以保持可链接性!
编辑2:
基于@lonesomeday评论,这是增强的版本:
(function($) {
$.fn.toggleDisabled = function(){
return this.each(function(){
this.disabled = !this.disabled;
});
};
})(jQuery);
TA贡献1805条经验 获得超9个赞
$('#checkbox')。click(function(){
$('#submit')。attr('disabled',!$(this).attr('checked'));
});
- 4 回答
- 0 关注
- 594 浏览
添加回答
举报