1

html

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

今、私はこの指定されたクラス名を持つすべてのテキスト ボックスを選択し、特定のテキスト ボックスに動的に追加する「エラー」と呼ばれる別のクラスがあるかどうかを確認したいと考えています。

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

しかし、期待どおりに動作しません..どうすればいいですか?

4

6 に答える 6

4

タイプミスがあり、jQueryオブジェクトとして"ラップする必要がありますthis

$(".required").each(function() {
     //Iterate through each element
     if($(this).hasClass('error')){
          alert("has error class");
     }
 });
于 2012-10-19T06:52:34.550 に答える
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>
于 2012-10-19T07:05:59.720 に答える
1

多くの構文エラーがあります。

  1. セレクターの終了引用符がありません。
  2. $(this)これの代わりに hasClass を使用してください。this represents javascript object一方、 javascript ではありません$(this) is jquery objecthasClass is jquery function
  3. if ステートメントの閉じ括弧がありません。
  4. 各関数の閉じ括弧も欠落しています。

ライブデモ

$(".required").each(function() {
    if ($(this).hasClass('error')) {
        alert("has error class");
    }     
})​;
于 2012-10-19T06:52:28.283 に答える
0

を使用してループする必要はありません.each

$(".required.error")両方のクラスを持つすべての要素を提供します。

于 2012-10-19T06:54:14.227 に答える
0

構文エラーがあります。つまり、hasClass呼び出しの後に閉じ括弧がありません。

 $(".required").each(function() {
     if($(this).hasClass('error')){
          alert("has error class");
     }
 }
于 2012-10-19T06:55:02.940 に答える
-1

コードにエラーがあります。これを試してください:

$(".required").each(function() {
     if($(this).hasClass('error'){
          alert("has error class");
     }
 }
于 2012-10-19T06:53:01.980 に答える