Каков наилучший метод для удаления строки таблицы с помощью jQuery?Каков наилучший способ удалить строку таблицы с помощью jQuery?
ответ
Вы правы:
$('#myTableRow').remove();
Это прекрасно работает, если ваша строка имеет id
, такие как:
<tr id="myTableRow"><td>blah</td></tr>
Если вы не имеют id
, вы можете использовать любой из jQuery's .
Да, я предполагал, что строка имеет идентификатор, и у вас есть ID :) –
Выполнение этого способа означает, что вам нужен один идентификатор в строке, что потенциально добавляет много накладных расходов. jQuery позволяет использовать другие подходы, более идиоматические (к подходу jQuery), продолжать чтение, есть больше предложений. –
Работал отлично для меня, поскольку я смог поместить уникальный идентификатор в каждую строку. –
function removeRow(row) {
$(row).remove();
}
<tr onmousedown="removeRow(this)"><td>Foo</td></tr>
Возможно, что-то подобное может работать? Я не пробовал что-то делать с «этим», поэтому я не знаю, работает оно или нет.
Ну, я бы сказал, что было бы немного странно, если бы эта строка исчезла, когда вы нажмете на нее. На данный момент у меня есть ссылка в строке, чтобы удалить строку. –
Если вы собираетесь использовать JQuery, использовать JQuery человек!
$('#myTable tr').click(function(){
$(this).remove();
return false;
});
приятный, очень неинструсивный – imjoevasquez
Странно, ваше решение бесконечно лучше, чем принятое. – Puzbie
@jorg, просто упомянуть об этом, у вас есть опечатка в вашем ответе, после .click вы должны поставить функцию() на вызов – Franco
$('tr').click(function()
{
$(this).remove();
});
я думаю, что вы будете пытаться выше код, как это работает, но я не знаю, почему это работает в течение некоторого времени, а затем вся таблица удаляется. Я также пытаюсь удалить строку, щелкнув строку. но не смог найти точного ответа.
Я не уверен, что вы уже пробовали $ ('tr'). Live ("click", function() {$ (this) .remove();}); – gfivehost
Предполагая, что у вас есть кнопка/ссылка внутри ячейки данных в вашей таблице, то, как это будет делать трюк ...
$(".delete").live('click', function(event) {
$(this).parent().parent().remove();
});
Это приведет к удалению родителя родителя кнопки/ссылки который щелкнут. Вам нужно использовать parent(), потому что это объект jQuery, а не обычный объект DOM, и вам нужно использовать parent() дважды, потому что кнопка находится внутри ячейки данных, которая живет внутри строки ... которая что вы хотите удалить. $ (Это) кнопка нажата, так что просто иметь что-то вроде этого будет удалить только кнопку:
$(this).remove();
В то время как это будет удалить ячейку данных:
$(this).parent().remove();
Если вы хотите просто нажмите в любом месте на строке, чтобы удалить его, что-то вроде этого будет работать. Вы можете легко изменить это, чтобы побудить пользователя или работать только на двойной клик:
$(".delete").live('click', function(event) {
$(this).parent().remove();
});
Надежда, которая помогает ... Я изо всех сил на этом немного себя.
Что делать, если ссылка не находится непосредственно внутри td, но имеет, скажем, диапазон вокруг него? Я думаю, что было бы лучше сделать $ (this) .parents ('tr'). Remove(); чтобы он подошел к дереву DOM самостоятельно, найдите tr и удалите его. –
Это тоже сработает. Все зависит от того, где в DOM ваша кнопка/ссылка, поэтому я дал так много примеров и такое длинное объяснение. – sluther
Вы также можете использовать $ (this) .parents ('tr') – cgreeno
Все, что вам нужно сделать, это удалить ярлык таблицы (<tr>
) из вашей таблицы. Например вот код, чтобы удалить последнюю строку из таблицы:
$('#myTable tr:last').remove();
* Код выше был взят из this jQuery Howto post.
Вы можете использовать:
$($(this).closest("tr"))
для нахождения родительской строки таблицы элемента.
Он более изящный, чем parent(). Parent() - это то, что я начал делать, и вскоре узнал об ошибке моих путей.
--edit - Кто-то отметил, что вопрос об удалении строки ...
$($(this).closest("tr")).remove()
Как указано ниже вы можете просто сделать:
$(this).closest('tr').remove();
Аналогичный код фрагмент может использоваться для многих операций, таких как запуск событий на нескольких элементах.
Немного более кратким: '$ (this) .closest (" tr "). remove()' –
Easy .. Попробуйте это
$("table td img.delete").click(function() {
$(this).parent().parent().parent().fadeTo(400, 0, function() {
$(this).remove();
});
return false;
});
Я бы изменил '$ (this) .parent(). parent(). parent() 'to' $ (this) .closest ('tr') '. Он более прочный и четко показывает, что вы выбираете. – nickf
попробовать это для размера
$(this).parents('tr').first().remove();
полный список:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.3.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('.deleteRowButton').click(DeleteRow);
});
function DeleteRow()
{
$(this).parents('tr').first().remove();
}
</script>
</head>
<body>
<table>
<tr><td>foo</td>
<td><a class="deleteRowButton">delete row</a></td></tr>
<tr><td>bar bar</td>
<td><a class="deleteRowButton">delete row</a></td></tr>
<tr><td>bazmati</td>
<td><a class="deleteRowButton">delete row</a></td></tr>
</table>
</body>
</html>
Если строка вы хотите удалить мощь чан ge, вы можете использовать это. Просто передайте этой функции строку #, которую вы хотите удалить.
function removeMyRow(docRowCount){
$('table tr').eq(docRowCount).remove();
}
, если у вас есть HTML как этот
<tr>
<td><span class="spanUser" userid="123"></span></td>
<td><span class="spanUser" userid="123"></span></td>
</tr>
где userid="123"
является пользовательский атрибут, который вы можете заполнить динамически при создании таблицы,
вы можете использовать что-то вроде
$(".spanUser").live("click", function() {
var span = $(this);
var userid = $(this).attr('userid');
var currentURL = window.location.protocol + '//' + window.location.host;
var url = currentURL + "/Account/DeleteUser/" + userid;
$.post(url, function (data) {
if (data) {
var tdTAG = span.parent(); // GET PARENT OF SPAN TAG
var trTAG = tdTAG.parent(); // GET PARENT OF TD TAG
trTAG.remove(); // DELETE TR TAG == DELETE AN ENTIRE TABLE ROW
} else {
alert('Sorry, there is some error.');
}
});
});
Так что в этом случае вы не знаете класс или идентификатор e TR
, но в любом случае вы можете удалить его.
Думаю, что вживую в настоящее время не рекомендуется в пользу on, $ (". SpanUser"). On ('click', function() { – Tofuwarrior
Еще один по empty()
:
$(this).closest('tr').empty();
Не удаляет ли все
Я ценю это старый пост, но я искал сделать то же самое, и нашел принятый ответ не работает для меня. Предполагая, что JQuery движется дальше, поскольку это было написано.
Во всяком случае, я нашел следующие работал для меня:
$('#resultstbl tr[id=nameoftr]').remove();
Не уверен, если это помогает никому. Мой пример выше был частью более крупной функции, поэтому не завершал ее в прослушиватель событий.
Я использовал это в моем коде:
> $("#tbl").on("click", ".delete-row", function() {
> $(this).closest('tr').remove();
> });
идентификатор не хороший селектор в настоящее время. Вы можете определить некоторые свойства в строках. И вы можете использовать их как селектор.
<tr category="petshop" type="fish"><td>little fish</td></tr>
<tr category="petshop" type="dog"><td>little dog</td></tr>
<tr category="toys" type="lego"><td>lego starwars</td></tr>
и вы можете использовать FUNC, чтобы выбрать строку, как это (ES6):
const rowRemover = (category,type)=>{
$('tr[category=${category}][type=${type}]').remove();
}
rowRemover('petshot','fish');
- 1. Каков наилучший способ объявить строку?
- 2. Каков наилучший способ сохранить два значения таблицы?
- 3. Каков наилучший способ удалить HTML из строки?
- 4. Каков наилучший способ изучения jQuery?
- 5. Каков наилучший способ защитить строку запроса с помощью Java?
- 6. Каков наилучший способ удалить слова из richtextbox?
- 7. Каков наилучший способ поиска таблицы БД с помощью хранимой процедуры?
- 8. Каков наилучший способ (выбрать строку, удалить ее при нажатии кнопки)
- 9. Каков наилучший способ удалить столбец из данных таблицы?
- 10. Каков наилучший способ начать с jQuery?
- 11. Удалить строку таблицы с помощью jquery
- 12. Каков наилучший способ удалить элемент макета
- 13. Каков наилучший способ сделать автозаполнение поля с помощью JQuery
- 14. Каков наилучший способ предотвратить перезагрузку страницы с помощью JQuery (ajax)?
- 15. Каков наилучший способ генерации HTML с помощью PHP и JQuery
- 16. Каков наилучший способ реализации кнопки «Показать больше» с помощью jQuery?
- 17. Каков наилучший способ вставить HTML в DOM с помощью jQuery?
- 18. Каков наилучший способ реализации логики повтора с помощью jquery-ajaxq?
- 19. Каков наилучший способ обернуть ярлык с помощью jquery?
- 20. Каков наилучший способ заполнения формы с помощью jQuery?
- 21. Каков наилучший способ преобразования csv в строку?
- 22. MVC2 Каков наилучший способ отображения таблицы
- 23. Каков наилучший способ хранения таблицы в C++
- 24. Каков наилучший способ передать строку между представлениями
- 25. Каков наилучший способ разделить строку? (C++)
- 26. Каков наилучший способ конвертировать перечисление в строку?
- 27. Каков наилучший способ разобрать эту строку?
- 28. Каков наилучший способ создания пользовательских компонентов JQuery
- 29. Каков наилучший способ удалить эхо из аудиофайла?
- 30. Каков наилучший способ петли над строками таблицы?
Вот отличная статья http://codepedia.info/2015/02/remove-table-row- tr-in-jquery о том, как удалить таблицу строк даже для динамически добавленных строк –