为什么这段代码jquery不起作用?

Ale*_*kan 2 javascript jquery

可能重复:
将密码字段更改为带有jquery复选框的文本

该代码应检查是否选中了复选框,然后将密码字段从密码更改为常规文本,反之亦然.

$('#cpassword_lf').change(function(){
     if($('#cpassword_lf').is(':checked'))
     {
        $('#password_loginform').attr('type', 'text'); 
     }
     else
     {
         $('#password_loginform').attr('type', 'password'); 
     }  
 });
Run Code Online (Sandbox Code Playgroud)

Ben*_*Ben 6

你不能改变类型属性,这里有一个简单的解决方案来做同样的事情:http://jsfiddle.net/ryWgY/2

HTML:

<input type="checkbox" id="cpassword_lf" />
<input type="password" id="password_loginform_hidden" />
<input type="text" id="password_loginform_clear" />
Run Code Online (Sandbox Code Playgroud)

使用Javascript:

$(function ()
{
    $('#password_loginform_clear').hide();
    $('#cpassword_lf').change(function()
    {
         if(!$('#cpassword_lf').is(':checked'))
         {
             $('#password_loginform_clear').hide();
             $('#password_loginform_hidden').show();

             $('#password_loginform_hidden').val($('#password_loginform_clear').val());
             $('#password_loginform_clear').val('');
         }
         else
         {
             $('#password_loginform_clear').show();
             $('#password_loginform_hidden').hide();

             $('#password_loginform_clear').val($('#password_loginform_hidden').val());
             $('#password_loginform_hidden').val('');
         }  
    });
});
Run Code Online (Sandbox Code Playgroud)