Есть ли быстрый способ .удаления строк таблицы с помощью jQuery

У меня есть таблица из 50 нечетных строк с 11 столбцами. Каждая строка имеет уникальный идентификатор , состоящий из id = "row_ _rownumber" . Во втором столбце есть флажок с id = "group_ _ _rownumber"

Отредактированный снимок экрана http://www.forsythesit.com.au/res/img/slowrowremoval.jpg

Когда пользователь устанавливает флажок, я хочу удалить все строки, кроме тех, которые принадлежат выбранному клиенту. У меня есть код, который работает следующим образом:

var sClient = $(this).attr("id").substring(6); // trim off group_
sClient = sClient.substring(0,sClient.indexOf("_")); // trim off anything after clientid
$("tr[id^=row_]").not("tr[id^=row_" + sClient + "]").remove(); 

Проблема в том, что он занимает так много времени, что в IE я получаю предупреждение «сценарий занимает слишком много времени».

Есть ли более быстрый способ удалить много строк?

Кстати. : Это занимает 4,4 секунды при использовании jQuery 1.4.3 и 1. 3 секунды с jQuery 1.4.2

Проблема решена спасибо всем. Последний совет предоставил @VisusZhao. Это последний рабочий фрагмент:

var KeepRows = $("#bookingstable tbody tr[id^=row_" + sClient + "_]");
$("#bookingstable tbody").empty();
$("#bookingstable tbody").append(KeepRows);

Всем спасибо

5
задан JJBaxter 27 October 2010 в 23:37
поделиться