1

特定のフォームのすべての入力要素に特定のクラスがあるかどうかを確認する方法を理解しようとしています。可能な場合は、それぞれを個別に確認する必要はありません。

単一の要素にクラスがあるかどうかを確認する方法を知っています。

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

また、JQueryの1行でフォームのすべての入力に影響を与える方法も知っています。

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

私はちょうど2つをブレンドすることができないようです...のように...

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

3 に答える 3

7

フォームの入力の数が、目的のクラスのフォームの入力の数と等しいかどうかを確認してください。

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

ここに、フィドルがあります:http: //jsfiddle.net/adrianonantua/2GnaW/

アップデート

別のアプローチ:yourclassを持たない入力がフォームにあるかどうかを確認します。

var allHaveClass = $('#form input:not(.yourclass)').length == 0;
于 2012-10-31T21:21:02.643 に答える
2

あなたは次のようなことをすることができます:

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

これにより、そのクラスを持たない入力要素が返されます。

別の方法は次のとおりです。

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

後者の方がパフォーマンスが優れているようです。

于 2012-10-31T21:21:10.310 に答える
2

最も簡単な方法は、簡単なifステートメントです。

var form = $(formSelector);

if (form.find('input').length == form.find('input.className').length) {
    // all inputs have that class
}
于 2012-10-31T21:21:49.370 に答える