【问题标题】:Verify All Form Inputs Have Class验证所有表单输入都有类
【发布时间】:2012-10-31 21:18:19
【问题描述】:

我试图弄清楚如何检查特定表单中的所有输入元素是否具有某个类,如果可能的话,不单独检查每个元素。

我知道如何检查单个元素是否有类..

if( $('#element').hasClass('class') ){ Do This...}

我还知道如何使用一行 JQuery 来影响表单的所有输入。

$('#form > *').on('click', function(){ Do This...});

我似乎无法将两者融合在一起......就像......

if( $('#form > *').hasClass('class') ){ Do This...}

【问题讨论】:

    标签: jquery forms class input


    【解决方案1】:

    只需检查表单中的输入数是否等于所需类的表单中的输入数:

    var allHaveClass = $('#form input').length == $('#form input.yourclass').length;
    

    来,拉小提琴:http://jsfiddle.net/adrianonantua/2GnaW/

    更新

    另一种方法:检查表单中是否有任何不包含 yourclass 的输入。

    var allHaveClass = $('#form input:not(.yourclass)').length == 0;
    

    【讨论】:

      【解决方案2】:

      你可以这样做:

      $("#form input").not('.theclass')
      

      这将返回任何不具有该类的输入元素。

      另一种方法是:

      $("#form input:not(.theclass)")
      

      后者似乎有更好的性能。

      【讨论】:

      • 这绝对是其他答案的一个很好的选择,谢谢你!
      【解决方案3】:

      最简单的方法是简单的if 声明:

      var form = $(formSelector);
      
      if (form.find('input').length == form.find('input.className').length) {
          // all inputs have that class
      }
      

      【讨论】:

      • 似乎它们几乎是同时发布的。我很高兴能得到一些帮助。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-02
      • 2021-01-22
      相关资源
      最近更新 更多