jQuery: удаление элемента DOM, загруженного через ajax - PullRequest
2 голосов
/ 16 февраля 2010

Я использую jQuery для загрузки содержимого ajax на страницу. Однако попытка использовать функцию .remove() в jQuery, похоже, не работает для удаления динамически загруженного элемента.

Мой пример функции:

function deletePerson(personID){
    if (confirm("Are you sure you want to permanently delete this person?\nYou cannot undo this action.")){
      $.post("ajax/personsDelete.php", { personNo: personID },
          function(data){
              $('#person' + personID).remove();
              alert("Response: " + data);
          });
    }
}

Как удалить динамически загруженные элементы с помощью jQuery?

1 Ответ

3 голосов
/ 16 февраля 2010

Измените контекст селектора, чтобы посмотреть ответ, добавив ,data:

function deletePerson(personID){
    if (confirm("Are you sure you want to permanently delete this person?\nYou cannot undo this action.")){
      $.post("ajax/personsDelete.php", { personNo: personID },
          function(data){
              $('#person' + personID, data).remove();
              alert("Response: " + data);
          });
    }
}

Поскольку он еще не добавлен в документ, используемый вами селектор по умолчанию не найдет его:
$('#person' + personID) совпадает с $('#person' + personID, document)

...