1

選択リストで最初の要素が選択されているときに、最初のdivを除くクラスのすべてのdivを非表示にしようとしています。4行目は3行目を上書きすると思いましたが、このようには機能していないようです。

function myFunction() {
  if (jQuery('#select').val() == '1') {
    jQuery('.mydiv').addClass('hide');
    jQuery('.mydiv(1)').removeClass('hide');
  }
}

更新-さまざまなdiv.mydivにすでにhideクラスがある可能性があるため、コードでは、最初のインスタンスのみにクラスがあることを確認する必要があります。他のdivは、クラスがある場合はそれを削除する必要があります。

4

3 に答える 3

4

:not()セレクターを使用できます

$(".mydiv:not(:nth-child(1))").addClass('hide');
于 2013-01-03T16:50:41.937 に答える
3

n番目の子を除外するだけです

jQuery( '.mydiv' ).not( ':eq(1)' ).addClass( 'hide' );
于 2013-01-03T16:50:18.840 に答える
1

すべてに追加し、最初にフィルタリングして、クラスを削除します。

function myFunction() {
  if (jQuery('#select').val() == '1') {
    jQuery('.mydiv').addClass('hide').first().removeClass("hide");
  }
}
于 2013-01-03T16:50:59.500 に答える