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");
  }

更新很多人都推荐使用 slice,但我无法让它工作。我有 7 个带有 room_row 类的 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]

或者,有:ltand :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 回答