Jquery ---选择给定类的所有文本框

时间:2012-10-19 06:51:05

标签: jquery

html

<input type="text" class="required" />

现在我想选择具有此给定类名的所有文本框,并想检查特定文本框是否有另一个名为“error”的类,我将动态添加。

 $(".required).each(function() {
     if(this.hasClass('error'){
          alert("has error class");
     }
 }

但没有按预期工作..怎么做?

6 个答案:

答案 0 :(得分:3)

你输错了"并且还需要将this包装为jQuery对象

$(".required").each(function() {
     //Iterate through each element
     if($(this).hasClass('error')){
          alert("has error class");
     }
 });

答案 1 :(得分:2)

试试这个解决方案:

<input type="text" class="required" />
<input type="text" class="required" />
<input type="text" class="required error" />

<script>
      $('.required').each(function(index, value){
          if($(value).hasClass('error')){
              alert("has error class");
          }
      });
</script>

答案 2 :(得分:1)

您有很多语法错误。

  1. 关闭引文缺少选择器。
  2. $(this)与hasClass一起使用而不是此。作为this represents javascript object$(this) is jquery objecthasClass is jquery function不是javascript。
  3. 缺少if语句的结束括号。
  4. 每个功能的结束括号也缺失。
  5. <强> Live Demo

    $(".required").each(function() {
        if ($(this).hasClass('error')) {
            alert("has error class");
        }     
    })​;
    

答案 3 :(得分:0)

无需循环使用.each

$(".required.error")将为您提供具有两个类的所有元素。

答案 4 :(得分:0)

您遇到语法错误,即在hasClass来电后错过了结束括号:

 $(".required").each(function() {
     if($(this).hasClass('error')){
          alert("has error class");
     }
 }

答案 5 :(得分:-1)

您的代码中有错误,请尝试以下操作:

$(".required").each(function() {
     if($(this).hasClass('error'){
          alert("has error class");
     }
 }