2014-01-23 150 views
0

我有一个输入类型密码,当单击immage时我想更改为文本。将输入类型密码更改为输入类型文本

这是我做过什么:

$('#txtGenerate').attr("type", "text"); 

但它不工作.. 我能做些什么?

+0

有些浏览器不支持真正改变的类型一个'input'元素。您应该考虑用文本输入代替密码输入。从['.attr'文档](http://api.jquery.com/attr/)(您阅读的是,对吧?):*“**注意:**尝试更改'type'属性(或属性)通过HTML或已经在HTML文档中创建的'input'元素将导致Internet Explorer 6,7或8抛出错误。“* –

+0

Works Fine [here](http://jsfiddle.net/Lm72s /) –

+0

接受答案,如果帮助也是如此的一部分 –

回答

1

使用prop代替:

$('#txtGenerate').removeAttr("type"); 
$('#txtGenerate').prop('type', 'password'); 
3

你可以这样做:

$('#txtGenerate').clone().prop('type','text').insertAfter('#txtGenerate').prev().remove(); 
  1. Clone当前输入

  2. 改变输入型

  3. Insert旧的输入

  4. Remove旧的输入

Demo

+0

@ user3226885很高兴帮助!如果你觉得满意,不要忘了接受答案:) – Felix

2

克隆后输入试试这个:

$('#txtGenerate').prop('type', 'text'); 
+0

为什么OP应该这样做? '.attr'有什么问题? –

相关问题