输入[disabled=true]和jQuery

输入[disabled=true]和jQuery,jquery,css,Jquery,Css,如何使input[disabled=true]在jQuery中工作 1).attr而不是.prop 2) 使用禁用的字符串作为属性值(而不是true) 正如Kos在注释中指出的那样,“编辑”在jQuery 1.6或更高版本中是一个有效的函数。disabled是一个,因此只有两种状态:设置和未设置 以下各项均相等: <input disabled="true"> <input disabled="disabled" /> <input disabled> &l

如何使
input[disabled=true]
在jQuery中工作

1)
.attr
而不是
.prop

2) 使用
禁用的
字符串作为属性值(而不是
true


正如Kos在注释中指出的那样,“编辑”在jQuery 1.6或更高版本中是一个有效的函数。

disabled
是一个,因此只有两种状态:设置和未设置

以下各项均相等:

<input disabled="true">
<input disabled="disabled" />
<input disabled>
<input disabled="">

您可以使用
$(“输入[禁用]”)
匹配所有变量


使用jQuery,您可以使用
$(…).prop('disabled')
获取元素的状态,它将返回一个布尔值。

这是您的原始代码:

$('<input class="inp" type="text" value="jquery" />').prop('disabled', true).appendTo('body');
…并将HTML和CSS更改为使用
disabled=“disabled”
input.inp[disabled=disabled]

(顺便说一句,CSS也可以编写为
input.inp[disabled]
,这将适用于属性的任何值)


希望这能有所帮助。

@Justin-他的jsfiddle不起作用;虽然他没有很好地解释,但他希望结果框中的两个输入字段都是黄色的。现在有几个答案解释了如何修复它。您链接到的文档说:“要检索和更改DOM属性,例如表单元素的选中、选中或禁用状态,请使用.prop()方法”。是的,我想是这样,但这在谷歌搜索和维基搜索中仍然居高不下:-)
.attr
.prop
已经在jQuery 1.6的某个地方清理完毕,请更新您的答案()@Kos Updated。顺便说一下,stackoverflow是,所以您可以自己编辑答案。
$('<input class="inp" type="text" value="jquery" />').attr('disabled', 'disabled').appendTo('body');