【问题标题】:jQuery clear input[type=password]jQuery清除输入[类型=密码]
【发布时间】:2011-07-02 16:17:45
【问题描述】:

当 jquery 验证失败时,我正在尝试清除所有密码类型的输入 - 我尝试了以下操作(不起作用):

$('input[type=password]').val('');

有什么想法吗?

【问题讨论】:

  • works for me 所以你的标记中可能有一些东西或其他代码干扰。

标签: jquery input passwords


【解决方案1】:

试试

$("input[type='password']").val('');

【讨论】:

    【解决方案2】:

    尝试使用:password 选择器,因为它会使您的代码更短:

    $(':password').val('');
    

    您的初始代码也应该可以工作。你的问题在别的地方。不幸的是,由于您没有说明在什么情况下以及如何调用它,或者您没有解释什么它不起作用意味着我无法进一步帮助您。

    【讨论】:

    • 是的 - 对不起,伙计们 - 它在我的代码中 - 抱歉不必要的票 - 我已经将它标记为要删除。
    【解决方案3】:

    简短回答:

    要使用 jquery 选择所有密码字段,您可以使用:

    $(':password').val('');
    

    但是为了更好的性能在现代浏览器中使用

    $("input[type='password']").val('');
    

    详细解答

    :password Selector(来自 jQuery 文档)

    说明:选择密码类型的所有元素。

    添加的版本:1.0

    jQuery(":password")

    $( ":password" ) 等价于 $( "[type=password]" )。

    与其他伪类选择器(以“:”开头的选择器)一样,建议在其前面加上标签名称或其他选择器;否则,将隐含通用选择器 ("*")。

    换句话说,裸露的 $( ":password" ) 等价于 $( "*:password" ),所以应该使用 $( "input:password" ) 来代替。

    附加说明:

    因为 :password 是 jQuery 扩展而不是 CSS 规范的一部分,所以使用 :password 的查询无法利用原生 DOM querySelectorAll() 方法提供的性能提升。为了在现代浏览器中获得更好的性能,请改用 [type="password"]。

    【讨论】:

      【解决方案4】:

      我想你可以试试这个:

      $("#id of a input field").val('');
      

      【讨论】:

      • 这只会清除一个特定的字段。该问题询问如何一次清除所有密码字段。
      【解决方案5】:
      $('input[type^="password"]').each(function(){
          // this is an example
      });
      

      【讨论】:

        猜你喜欢
        • 2018-02-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-09-12
        • 2017-09-04
        • 2016-08-26
        • 2011-12-09
        • 1970-01-01
        相关资源
        最近更新 更多