如何在Jquery中隐藏/显示多个对象?

时间:2011-05-26 00:58:55

标签: php javascript jquery

我想隐藏/显示项目并在需要时再次显示它们。

我使用以下代码来执行此操作。但如果我这样做几次,它会减慢页面的速度。

for(i=0;i < 9; i++) 
  $('.myBetSingleBox').eq(i).css({'display':''});

有没有办法在不降低页面速度的情况下执行此操作? for循环正在减慢页面,但我没有其他解决方案。

在JQuery中可能有垃圾收集吗?

信息: 隐藏(),切换()方法比css({'display':''}}更差;

谢谢!

3 个答案:

答案 0 :(得分:2)

这将隐藏该类的前9个元素。

$('.myBetSingleBox:lt(8)').hide();

你所描述的那种情况(隐藏9个元素)作为你的应用程序的瓶颈听起来不太可能。

答案 1 :(得分:1)

为了加快速度,您必须缓存您的DOM引用:

var boxes = $('.myBetSingleBox');

然后只是:

boxes.slice(0, 8).hide();

boxes.slice(0, 8).show();

执行上述行应该不到1毫秒(毫秒),因此它们不能成为您性能问题的原因......

答案 2 :(得分:0)

使您想要显示共同元素子元素的所有元素。然后,将css display属性应用于该公共元素。