2011-07-28 46 views
1

我有jQuery的分裂/块选择

<ul> 
    <li>blabla</li> <!-- About 800 or more in some occasions --> 
</ul> 

名单有没有去成块选择,以便这不会使页面反应迟钝?

因为一次选择全部会导致浏览器崩溃并且无响应,所以我可以让它选择让我们说第一百和第二百等等。

+0

你看着我的编辑答案吗? – Mohsen

+0

通常情况下选择dom元素并不需要很多时间,即使您获得了8000个。什么时间是约束他们每一个事件,这就是为什么你应该考虑Seths的答案。一些与2000年的divs实验:http://jsfiddle.net/b9ZL8/1/ – meo

+0

我一次全部移动它们,导致使用splice下面的答案的问题,我设法一次移动100列表,并让用户等待它:) – Val

回答

1

根据你说“选择”时的意思,你可以使用.delegate()方法。

$('ul').delegate('li', 'click', function(){ 

    // Your Code 

}); 

我也建议使用ID,而不是仅仅$('ul')

+0

我有'var all = $('#ul_id li');'和其他一些事情以后做...如果我让让我说100,200它可以工作找到,但超过它阻塞了页面内存。 – Val

+0

代表的工作真的很好,因为它说:“你有一个UI,你刚刚附加了一个事件!你嘿,你只需点击这个UL,让我检查看看这个LI是否,现在让我运行这个功能在这一个李!!!“它基本上不会将事件附加到每个LI,只是UL,然后在点击它之后将其定位到特定元素。 – Seth

+1

@val它后面的东西,使它慢,而不是选择。看看我留在你的问题上的评论。 – meo