我在确定输入字段的状态时遇到问题。我希望JS确定它是禁用还是启用,但我的代码总是返回'false'。我究竟做错了什么?感谢
<input name="ctl00$ctl00$ctl00$ctl00$ContentPlaceHolderDefault$RobinBodyPlaceHolder $LoggedInBodyPlaceHolder$AddEditUser1$EmailTextBox" type="text" value="email@mail.com" id="ContentPlaceHolderDefault_RobinBodyPlaceHolder_LoggedInBodyPlaceHolder_AddEditUser1_EmailTextBox" class="EmailTextBox" disabled="disabled"/>
function ConfirmEmailChange() {
alert($('.EmailTextBox').disabled==true);
}
答案 0 :(得分:0)
问题是没有标记jQuery,但是因为你似乎正在使用它,你可以这样做:
alert($('.EmailTextBox').is(':disabled'))
答案 1 :(得分:0)
<强> Live Demo 强>
function ConfirmEmailChange() {
alert($('.EmailTextBox').prop('disabled'));
}
只需将其更改为以这种方式检查已禁用的属性。您试图访问不是有效jQuery属性的.disabled
。
答案 2 :(得分:0)
您正在尝试访问jQuery对象的disabled
属性(我假设它是jQuery,但它可能是使用$
字符的其他JS库),但jQuery对象不要没有disabled
属性。
如果是jQuery,您可以使用数组表示法访问jQuery对象中包含的实际DOM节点:
alert($('.EmailTextBox')[0].disabled);
或者,您可以使用get
方法:
alert($('.EmailTextBox').get(0).disabled);
或者,正如其他人所示,您可以使用jQuery prop
方法。请注意,我已删除了== true
部分,因为disabled
是一个布尔属性,无论如何都会返回true
或false
。