1

JQueryで「無効」クラスの入力があるかどうかを確認しようとしています。

$('#formId input').hasClass('invalid'); 

を返してfalseいます。入力を使用.addClass('invalid')し、ChromeのDOMインスペクターでクラスが存在することを確認した後でも、

以下の提案は機能していません。私のマークアップは、form>inputとは少し異なります。

http://jsfiddle.net/Jv4tG/

4

1 に答える 1

7

クラス名をセレクターとして使用するだけです。

$('#formId input.invalid');

これは、そのクラスを持つ要素に対してのみ機能します。それ以外の場合は、条件として次を使用できますlength

if ($('#formId input.invalid').length) {
    // some elements have that class
}

また、使用することができますfilter()

$('#formId input').filter(function(){
    return $(this).hasClass('invalid');
});

これにより、セレクターはそのクラスの要素のみに制限されます。または、次のようになります。

$('#formId input').filter(function(){
    return !$(this).hasClass('invalid');
});

無効なクラス名を持たない要素を返すため。

于 2012-10-19T18:42:36.847 に答える