2013-08-31 3 views
0

Я не уверен, что я делаю это так, как это можно сделать, и если у кого-то есть лучший способ, пожалуйста, дайте мне знать.Как удалить узлы HTML

У меня есть таблица данных, которая помещается на страницу с помощью AJAX. У пользователя есть возможность удалить эти данные. Если удалить данные не удастся, я хочу, чтобы строка была удалена из списка.

Я не уверен, как и хотел бы знать, могу ли я удалить строку данных без идентификатора, прикрепленного к самой строке.

Вот что одна из строк таблицы данных выглядит

<tr> 
    <td data-pid="2"><a data-pid="2" href="#">test</a></td> 
    <td><a data-pid="2" class="manage-icon" href="#"><img alt="" src="delete.png"></a></td> 
</tr> 

This is what I'm using to get the id 
$(this).attr('data-pid'); 

ответ

1

Попробуйте

$('a[data-pid="' + pid + '"]').closest('tr').remove(); 

.closest()

использование

$(this).data('pid'); 

вместо

$(this).attr('data-pid'); 

.data()

.parents() для всех соответствующих элементов-предков.

closest() для первого ближайшего совпадающего элемента (либо предка, либо самого себя).

.closest() лучше и быстрее в вашем случае

+0

Спасибо, Тушар. Я собираюсь попробовать это. – NaN

+0

Кроме того, большое спасибо за указатель на использование 'data()'! Это полезно знать – NaN

+0

невозможно выбрать tr или td с помощью jquery ... для меня '$ ('tr')' ... не работает –

0

Вы хотите удалить этот тр?

$(function() { 
    $('img').click(function() { 
     var a = $(this).parent(); 
     if(confirm('Delete?')) { 
      var pid = a.data('pid'); 
      //do ajax remove; 
      a.parents('tr').remove(); 
     } 
    }); 
}); 
+0

Я думаю, я бы вообще не придется беспокоиться о семантике оставив пустой '' тег, если я использовал это, верно? – NaN

+0

Я думаю, что это то, что я собираюсь здесь. Я хочу удалить всю строку, на которую пользователь нажимает, но у меня проблема, потому что в строке нет идентификатора. Но я вижу, что '$ (this) .parent ('tr'). Remove();' может сделать это для меня. Я попробую. Спасибо – NaN

+0

Проверьте изменения. – OneOfOne

Смежные вопросы