1

私は正常に動作している次のものを持っています:

if (jQuery('#target').val() == '1') {
    jQuery('.room_row').addClass('hide').eq(0).removeClass("hide");
  }

ただし、最初の 2 つの div.room_row の「非表示」クラスが削除されるように、次のようなものを追加する必要があります。

if (jQuery('#target').val() == '2') {
    jQuery('.room_row').addClass('hide').eq(0,1).removeClass("hide");
  }

更新 多くの人がスライスの使用を推奨していますが、私はそれを機能させることができません。room_row のクラスを持つ 7 つの div があります。選択リストでオプション 1 を選択すると、最初の .room_row が表示される必要があります。2 を選択した場合、最初の 2 つの .room_row を表示する必要があります。

4

4 に答える 4

1

これを試して

jQuery('.room_row').addClass('hide').slice(0,2).removeClass('hide');

また、これはあなたに役立つでしょう

    jQuery('.room_row:gt(2)').addClass('hide');

http://api.jquery.com/slice/

于 2013-01-03T17:34:53.813 に答える
0

スライスを使用できます:

jQuery('.room_row').slice(2).addClass("hide");

簡単な例を次に示します。

> [1, 2, 3, 4, 5, 6].slice(2)
[3, 4, 5, 6]
> [1, 2, 3, 4, 5, 6].slice(0, 2)
[1, 2]

あるいは、 と が:ltあり:gtます:

jQuery('.room_row:gt(2)').addClass('hide');
于 2013-01-03T17:29:52.723 に答える
0

slice代わりに使用してください:

jQuery('.room_row').addClass('hide').slice(0,2).removeClass("hide");
于 2013-01-03T17:29:54.423 に答える
0

やってみました:

if (jQuery('#target').val() == '2') {
    jQuery('.room_row:lt(2)').removeClass("hide");
  }
于 2013-01-03T17:33:23.710 に答える