$input.disabled = true;

$input.disabled = "disabled";

哪种是标准方式?反过来,如何启用禁用的输入呢?

推荐答案

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().attr()方法的优点是,可以为一组选定项设置属性.


Note:在1.6中有一个.removeProp()方法,听起来很像removeAttr(),但它是基于本地属性的SHOULD NOT BE USED,比如文档中的'disabled'摘录:

注意:不要使用此方法删除本机属性,例如选中、禁用或选中.这将完全删除属性,一旦删除,就不能再次添加到元素中.使用prop()将这些属性改为false.

事实上,我怀疑这种方法有很多合法的用途,布尔属性是以这样一种方式完成的,即您应该将它们设置为false,而不是像1.5中的"属性"对应项那样"删除"它们

Javascript相关问答推荐

为什么子组件没有在reaction中渲染?

如何在使用fast-xml-parser构建ML时包括属性值?

我在这个黑暗模式按钮上做错了什么?

如何才能拥有在jQuery终端中执行命令的链接?

使用useEffect,axios和useParams进行react测试

在带有背景图像和圆形的div中添加长方体阴影时的重影线

编剧如何获得一个div内的所有链接,然后判断每个链接是否都会得到200?

从包含数百行的表中获取更改后的值(以表单形式发送到后端)的正确方法是什么?

使用POST请求时,Req.Body为空

为什么我的getAsFile()方法返回空?

第三方包不需要NODE_MODULES文件夹就可以工作吗?

Use Location位置成员在HashRouter内为空

当用户点击保存按钮时,如何实现任务的更改?

使用插件构建包含chart.js提供程序的Angular 库?

当标题被点击时,如何使内容出现在另一个div上?

如何根据输入数量正确显示alert ?

在Puppeteer中使用promise进行日志(log)记录时出现TargetCloseError

如何在Reaction中设置缺省值, Select 下拉列表,动态追加剩余值?

如何检测当前是否没有按下键盘上的键?

将以前缓存的 Select 器与querySelector()一起使用