JQuery удалить диапазон строк - PullRequest
1 голос
/ 15 марта 2011

Допустим, у меня есть таблица с этими строками:

<table>
    <tr id="before_dynamic_rows"></tr>
    <tr id="after_dynamic_rows"></tr>
</table>

Используя jQuery, я вставляю автоматически сгенерированные строки (результаты поиска) перед строкой after_dynamic_rows.Как я могу удалить диапазон строк, а именно - как вы уже догадались - те, которые находятся между строкой с идентификатором before_dynamic_rows и строкой after_dynamic_rows?(Чтобы иметь возможность после их вставки удалить и вставить разные.)

var response = ajax.responseText;
$('#after_dynamic_rows').before(response);

Вот так я вставляю новые строки.Принимая во внимание первый ответ: как я могу назначить класс для любого текста ответа?

Ответы [ 3 ]

2 голосов
/ 15 марта 2011

Этот ответ основан на буквальном толковании вопроса с идеей, что единственными строками, которые следует удалить, являются те строки, которые находятся между #before_dynamic_rows элементом и #after_dynamic_rows.

См. Рабочую версиюпо адресу: http://jsfiddle.net/7wBzd/

var $rows = $("tr");
$("tr:lt("+ $rows.index($("#after_dynamic_rows")) +"):gt("+ $rows.index($("#before_dynamic_rows")) +")").remove();
2 голосов
/ 15 марта 2011
$("table tr:gt(0)").not("#after_dynamic_rows").remove();

Попробуйте здесь.

Обратите внимание: если #after_dynamic_rows - последняя строка, вы можете просто сделать:

$("table tr:gt(0)").not(":last").remove();

или

$("table tr:gt(0):not(:last)").remove();

... и если до #before_dynamic_rows есть строки, просто выполните:

$("table tr:not(#before_dynamic_rows, #after_dynamic_rows)").remove();
2 голосов
/ 15 марта 2011

Я бы назначил класс этим добавленным строкам, чтобы их было легко выбрать, но вы можете выбрать все tr потомков и использовать метод not, чтобы удалить два, которые вы хотите сохранить.

$("table tr").not("#before_dynamic_rows").not("#after_dynamic_rows").remove();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...