jQuery更改输入类型

时间:2010-09-14 00:58:19

标签: jquery text input passwords

这段代码不起作用了什么?

$(".re").focus(function() {
    if($(this).attr("type") == "text") {
        $(this).attr("type", "password");
    }
}); 

它应该将输入文本类型从文本更改为密码,但是当我在关注它之后输入它时,它不起作用;它还是文字。

2 个答案:

答案 0 :(得分:8)

IE不允许你这样做,所以jQuery specifically forbids it是跨浏览器一致的。要更改type(并且它在每个浏览器中都有效),您需要将该元素替换为另一种类型的元素。

答案 1 :(得分:6)

正如尼克所说,你做不到这一点,但你可以做的是在彼此旁边有两个输入,密码是隐藏的。在焦点上,切换每个密码并.focus()

的jQuery

$('.text').focus(function() {
    $(this).toggle();
    $('.pass').toggle().focus();
});​

小提琴 http://jsfiddle.net/KUFZY/