确定输入元素状态
determine input element status
我在确定输入字段的状态时遇到问题。我希望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);
}
你试图访问一个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
。
问题没有标记为jQuery,但由于您似乎正在使用它,您可以这样做:
alert($('.EmailTextBox').is(':disabled'))
现场演示
function ConfirmEmailChange() {
alert($('.EmailTextBox').prop('disabled'));
}
只需更改它以检查disabled属性。您试图访问.disabled
,这不是一个有效的jQuery属性。
相关文章:
- 从组件状态的数组中删除元素
- 检查元素是否将状态从隐藏更改为可见
- 我如何为列出的选项卡元素编写一个Protractor测试,它会检查它是否's是否处于活动状态
- jQuery隐藏元素在使用CSS显示时保持隐藏状态
- 保持元素处于禁用状态,直到未在 Angularjs 中选择下拉列表
- 如何在每次页面重新加载时更改渐变背景,同时保持光标位置元素处于活动状态
- 通过单选按钮状态设置HTML元素的可见性
- 所选列表元素不会保持选中状态(通过ajax请求更新后)
- 在检查单选按钮检查状态后启用/禁用表单元素
- 从数组中删除元素,然后保留其状态以备将来使用,而不使用全局变量
- 在触摸结束事件期间,Find元素手指处于打开状态
- 如何根据子组件的状态更改父组件样式元素
- 针对某个状态禁用整个表单元素.反应
- 如何在内容可编辑元素中的文本失去焦点时保持该元素处于选中状态
- 从另一个元素的行为更改按钮的状态
- 当内容为空但超链接处于活动状态时删除元素
- 将焦点设置在带有错误消息的第一个输入元素上,并将包含它的 TabStrip 选项卡设置为活动状态
- 如何防止元素保持活动状态
- 旋转元素而不返回到原始状态
- 获取受 .slideToggle() 影响的显示状态元素