在查询中,您寻求在单击某个输入元素时首先禁用然后启用输入元素关联。但是,您的代码无法删除“disabled”属性。
要有效禁用或启用 jQuery 中的元素,总是使用prop() 方法。这种区别很重要,因为 prop() 处理属性,而 attr()/removeAttr() 处理属性。
在您的特定实例中,正确的代码是:
$("#edit").click(function(event){ event.preventDefault(); $('.inputDisabled').prop("disabled", false); // Elements are now enabled. });
请参阅更新了此 jsFiddle 的代码:[链接到 jsFiddle]
While attr() /removeAttr() 从技术上讲可以启用/禁用元素,但由于潜在的不一致,不建议这样做。 Prop() 显式管理属性值,提供更可靠的行为。
jQuery 3.0 之前(2016 年之前)
removeAttr() 完全删除了禁用属性,设置属性为 false。相反,prop() 仅修改属性的布尔值。
jQuery 3.0 及更高版本
prop() 仍然是推荐的方法,因为 removeAttr() 现在不再设置相应的属性为 false。这种区别对于区分属性(初始值)和属性(当前值)的现代浏览器至关重要。
以上是如何使用 jQuery 使用 prop() 正确启用输入元素的详细内容。更多信息请关注PHP中文网其他相关文章!