jquery - <input/>类型转换(jQuery)

标签 jquery html dom input passwords

我有这个:

<input type="text" value="Enter Password" class="password" />

... onclick/onfocus,我想将输入类型更改为“密码”并删除值,如下所示:

<input type="password" value="" class="password" />

这似乎不起作用:

$('input.password').click(function () {
            $(this).attr('type', 'password');
    });

(请参阅 this 问题了解我为什么要这样做)


这行得通,但只有一个问题,我需要点击两次才能在 pass 字段中输入:

var passField = $("input.password");
        var passFieldNew = passField.clone();
        $('input.password').click(function () {
            passFieldNew.attr("type", "password");
            passFieldNew.attr("value", "");
            passFieldNew.insertBefore(passField);
            passField.remove();
        });

我该如何解决这个问题?

谢谢!

最佳答案

当元素在 DOM 中时,您不能更改类型属性,但如果您先将其删除,则可以。

以下应该有效(已测试,但仅在 Firebug 中)。密码类别将被保留,因为它与您再次插入的元素相同。

var $pwd = $('input.password').remove(); // Note, might be better to select on ID
$pwd.attr('type', 'password');
$pwd.val('');
$('#ABC').after($pwd); // Insert it somewhere in the DOM again

关于jquery - &lt;input/>类型转换(jQuery),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1878942/

相关文章:

jquery - 如何使用 jQuery 和/或 CSS3 更改显示的无序列表项的数量?

javascript - 带有 .js 验证的 php 邮件 -> 看不到任何错误

javascript - 文本框值未更新

javascript - 从打印内容保存 pdf HTML JAVASCRIPT

javascript - CSS Fit div Height 自动适应两个div之间的可用空间

javascript - MVC4 Jquery 验证复选框至少选中一个?

jquery - 列中的图像对齐

java - 有没有办法解析 XML,即使不同节点中的标签名称相同

css - 用于构建 DOM/CSS 类引用的软件

xml - 使用经典 ASP 在 XML 文档中追加子项