Joacer Asked: 2020-08-01 23:24:13 +0800 CST 2020-08-01 23:24:13 +0800 CST 2020-08-01 23:24:13 +0800 CST 使用 jQuery 启用和禁用元素 772 从最初的 SO 问题Disable/enable an input with jQuery? 我想启用和禁用 HTML 页面的元素(无论是输入、div、按钮等)。 如何使用 jQuery 解决它? jquery 1 Answers Voted Best Answer Joacer 2020-08-01T23:24:13+08:002020-08-01T23:24:13+08:00 从原来的 SO 回答Disable/enable an input with jQuery? jQuery 1.6+ 要更改属性disabled,您必须使用函数.prop()函数。 $("input").prop('disabled', true); $("input").prop('disabled', false); jQuery 1.5 及以下 该函数.prop()不存在,但它的.attr()工作原理类似: 设置禁用属性: $("input").attr('disabled','disabled'); 要再次启用,正确的方法是使用.removeAttr() $("input").removeAttr('disabled'); 在任何版本的 jQuery 您始终可以依赖当前的 DOM 对象,如果它只是一个元素,它可能比其他两个选项快一点: // assuming an event handler thus 'this' this.disabled = true; .prop ()使用or方法的好处.attr ()是您可以为一堆选定的项目设置属性。 注意:在 1.6 中,有一个方法.removeProp()听起来很像removeAttr(),但不应在本机属性上使用,作为'disabled'文档摘录: 注意:请勿使用此方法删除本机属性,例如选中、禁用或选中。这将完全删除该属性,并且一旦删除,就不能再次将其添加到元素中。使用 .prop() 将这些属性设置为 false。 翻译: 注意:请勿使用此方法删除本机属性,例如选中、禁用或选中。这将完全删除该属性,并且一旦删除,它就不能再添加回元素。使用 .prop() 将这些属性设置为 false。 事实上,我怀疑这种方法有很多合法用途,布尔属性的制作方式是你应该将它们设置为 false 而不是像 1.5 中的“属性”等价物那样“删除”它们
jQuery 1.6+
要更改属性
disabled
,您必须使用函数.prop()
函数。jQuery 1.5 及以下
该函数
.prop()
不存在,但它的.attr()
工作原理类似:设置禁用属性:
要再次启用,正确的方法是使用
.removeAttr()
在任何版本的 jQuery
您始终可以依赖当前的 DOM 对象,如果它只是一个元素,它可能比其他两个选项快一点:
.prop ()
使用or方法的好处.attr ()
是您可以为一堆选定的项目设置属性。注意:在 1.6 中,有一个方法
.removeProp()
听起来很像removeAttr()
,但不应在本机属性上使用,作为'disabled'
文档摘录:翻译:
事实上,我怀疑这种方法有很多合法用途,布尔属性的制作方式是你应该将它们设置为 false 而不是像 1.5 中的“属性”等价物那样“删除”它们