2012-10-19 56 views
-1

HTMLjQuery的---選擇所有的文本框定類

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

現在我想選擇這個定的類名稱的所有文本框,並要檢查特定文本框中是否有一個叫另一個類「錯誤」,我正在動態添加。

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

但沒有按預期工作..怎麼辦?

回答

3

你有一個錯字缺少",你也需要包裝this爲jQuery對象

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

您有許多語法錯誤。

  1. 閉幕選擇的報價失蹤。
  2. 使用$(this)而不是hasClass。 As this represents javascript object while $(this) is jquery object and hasClass is jquery function not javascript。
  3. if語句的結束括號缺失。
  4. 每個函數的結束括號也缺失。

Live Demo

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

原因下降投票? – Adil

+0

當我看到你的答案時,代碼是相同的。正確的建議現在,雖然你的代碼不顯示所有的修復 –

+0

是錯過了一些,現在更新了代碼,謝謝指出。 – Adil

-1

你有一個錯誤到你的代碼,嘗試這個:

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

downvote的原因是什麼? –

0

無需循環使用.each

$(".required.error")會給你所有的元素都有兩個類。

+0

你的回答放在一邊,你爲什麼編輯這個問題來解決這個錯誤? – Daedalus

+0

@達達魯斯 - 糾正了這個問題中的錯字。爲什麼? – techfoobar

+0

那麼,你無法知道原始代碼中是否存在該打字錯誤。就目前而言,你可能會模糊這條線,儘管OP的接受顯示他們在原始代碼中確實存在該錯誤。如果我是你,我會扭轉該編輯。 – Daedalus

0

你有一個語法錯誤,即你在你的hasClass電話後缺少一個右括號:

$(".required").each(function() { 
    if($(this).hasClass('error')){ 
      alert("has error class"); 
    } 
} 
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>