试图修改 Input 属性,如
$(this).attr('type','password');
或
$(this)[0].type = 'password';
都是不可以的
jQuery无法修改 Input 的 Type 属性,因为源码中:
// We can't allow the type property to be changed (since itcauses problems in IE)
if ( name === "type" &&rtype.test( elem.nodeName ) &&elem.parentNode ) {
jQuery.error( "type property can't be changed");
}
绝大部分浏览器也不支持原生 Js 修改 Input 的 Type 属性
解决的方案可以
$(this).remove();
$("body").append("<input type='password'/>");