我想隐藏/显示项目并在需要时再次显示它们。
我使用以下代码来执行此操作。但如果我这样做几次,它会减慢页面的速度。
for(i=0;i < 9; i++)
$('.myBetSingleBox').eq(i).css({'display':''});
有没有办法在不降低页面速度的情况下执行此操作? for循环正在减慢页面,但我没有其他解决方案。
在JQuery中可能有垃圾收集吗?
信息: 隐藏(),切换()方法比css({'display':''}}更差;
谢谢!
答案 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属性应用于该公共元素。