Javascript 如何在jQuery中更改输入类型属性?

Javascript 如何在jQuery中更改输入类型属性?,javascript,jquery,placeholder,Javascript,Jquery,Placeholder,我有一个带有用户名和密码字段的登录表单。我使用占位符显示每个输入的帮助文本。它在Firefox和Chrome中运行良好,但在IE中不行,因为占位符是HTML5的输入属性。我正在编写一个自定义函数来处理IE中的占位符。在这个特定函数上,我想在jQuery中将密码字段输入类型从“password”更改为“text” 请对此提出解决方案 $("#id").attr("type", "text"); 编辑: $(“#id”).remove(); $(“#containerOfInput”).appen

我有一个带有用户名和密码字段的登录表单。我使用占位符显示每个输入的帮助文本。它在Firefox和Chrome中运行良好,但在IE中不行,因为占位符是HTML5的输入属性。我正在编写一个自定义函数来处理IE中的占位符。在这个特定函数上,我想在jQuery中将密码字段输入类型从“password”更改为“text”

请对此提出解决方案

$("#id").attr("type", "text");
编辑:

$(“#id”).remove();
$(“#containerOfInput”).append(“
编辑:

$(“#id”).remove();
$(“#containerOfInput”).append(“
演示
-->

演示
-->

这应该可以:

$("#input_field_id").attr("type", "text");
这应该起作用:

$("#input_field_id").attr("type", "text");

像下面这样的东西应该会起作用

演示:

刚刚注意到您希望部件更改类型。您可以通过设置
this.type
来完成此操作

  • 为textfield设置this.type='text'
  • 为密码字段设置this.type='password'

  • 下面这样的东西应该可以解决这个问题

    演示:

    刚刚注意到您希望部件更改类型。您可以通过设置
    this.type
    来完成此操作

    • 为textfield设置this.type='text'
    • 为密码字段设置this.type='password'

    你知道不受支持的浏览器会自动回退到文本类型吗?可能重复使用像这样的js占位符插件:你知道不受支持的浏览器会自动回退到文本类型吗?可能重复使用像这样的js占位符插件:我试过了,它不起作用。它抛出了一个“无法更改属性类型”的错误。我认为这是因为浏览器安全问题。很可能!我从未尝试过。您最好删除原始文件,然后添加。让我编辑。我可以让它工作。这是上面有人建议的解决方案。$('input:password').prop('type','text'));@thatidiotguy:如果OP使用的是jQuery v.1.9或更高版本,那么您的第一个代码应该可以工作。@DeepakBiswal:我知道您已经得到了答案,但只是想知道您的代码中当前使用的是哪个版本的jQuery文件?我已经尝试过了,它不起作用。它抛出了一个“无法更改属性类型”的错误。我想这是因为某些浏览器安全问题。很可能!我从未尝试过。你最好先删除原始文件,然后添加。让我编辑。我让它工作起来了。这是上面有人建议的解决方案。$('input:password')。prop('type','text'));@Thatidotguy:如果OP使用的是jQuery v.1.9或更高版本,那么您的第一个代码应该可以工作。@DeepakBiswal:我知道您已经得到了答案,但只是想知道您的代码中当前使用的jQuery文件的哪个版本?@Thatidotguy:@PalashMondal嘿,谢谢您继续关注这个问题。了解这个问题有点有趣re.@Thatidotguy:@PalashMondal嘿,谢谢你的关注。了解那里有一个有趣的小怪癖。
    $("#input_field_id").attr("type", "text");
    
        $('#password').focus(function () {
            this.type = 'password'
            $(this).removeClass('placeholder').val(function () {
                var val = $.trim(this.value);
                return (val == 'Password')?'':this.value;
            });
        }).blur (function () {
            $(this).val(function () {
                var val = $.trim(this.value);
                return (val == '')?'Password':this.value;
            });
    
            if (this.value == 'Password') {
                $(this).addClass('placeholder')
                this.type = 'text';
            }
        });