jQuery:无法更改密码输入类型
尝试使用以下命令将密码输入字段的类型更改为文本时会出现此问题jQuery,但无法执行。有问题的代码:
$(document).ready(function() { $('#password').attr('type', 'text'); $('#password').val('Password'); });
原因和解决方案
此行为很可能是浏览器实施的安全措施。根据 jQuery 源代码:
// We can't allow the type property to be changed (since it causes problems in IE) if ( name == "type" && jQuery.nodeName( elem, "input" ) && elem.parentNode ) throw "type property can't be changed";
对于 IE 和其他可能的浏览器,不允许更改输入字段的类型(特别是密码等敏感字段)。
解决方法
一种解决方法是使用直接 DOM 代码:
var pass = document.createElement('input'); pass.type = 'password'; document.body.appendChild(pass); pass.type = 'text'; pass.value = 'Password';
以上是为什么 jQuery 无法更改密码输入字段的类型?的详细内容。更多信息请关注PHP中文网其他相关文章!