按课程排空很多div的最快方法?

时间:2013-12-02 10:49:47

标签: javascript jquery

目前我正在使用$('.class:not(:empty)').html('');,但对我来说仍然需要很长时间。

例如,〜1200个非空div和~2000个div总共需要~2秒。

另外,完全删除div会更快吗?

2 个答案:

答案 0 :(得分:7)

您可以尝试:

$('.class').empty();

您不会过滤所有需要时间的非空的.class es - 只需清除所有这些内容。

性能测试:

$('.class').empty();               // 23.810ms, 31.646ms, 24.003ms ~ 26,486ms
$('.class:not(:empty)').empty();   // 25.469ms, 27.323ms, 24.964ms ~ 25,919ms

$('.class').html('');              // 34.353ms, 48.778ms, 44.487ms ~ 42,539ms
$('.class:not(:empty)').html('');  // 34.751ms, 27.494ms, 35.428ms ~ 32,558ms

简单删除所有项目:

$('.class').remove;                // 77.650ms, 68.968ms, 69.281ms ~ 71,966ms

该测试是用以下方法进行的:

$('body').empty()
for (var i = 0; i < 1200; i++) $('<div class="class">not-empty</div>').appendTo($('body'));
for (var i = 0; i < 2000; i++) $('<div class="class"></div>').appendTo($('body'));

console.time('timer');
  // proper method
console.timeEnd('timer')

答案 1 :(得分:0)

试试这个:

$("div.ClassName").html('');

$("div.ClassName").empty();