341 votes

Quelle est la meilleure façon de supprimer une ligne de tableau avec jQuery ?

Quelle est la meilleure méthode pour supprimer une ligne de tableau avec jQuery ?

479voto

imjoevasquez Points 4052

Tu as raison :

Cela fonctionne très bien si votre ligne a une `` , tels que :

Si vous n’avez pas un `` , vous pouvez utiliser l’une de de jQuery pléthore de sélecteurs.

138voto

nickf Points 185423

@Eikern

Si vous allez utiliser jQuery, utilisez jQuery homme !

64voto

sluther Points 604

En supposant que vous avez un bouton/lien à l'intérieur d'une cellule de données dans votre tableau, quelque chose comme ceci ferait l'affaire...

$(".delete").live('click', function(event) {
	$(this).parent().parent().remove();
});

Cela permettra d'éliminer le parent du parent du bouton/lien sur lequel vous cliquez. Vous avez besoin d'utiliser la relation parent() car c'est un objet jQuery, pas normal d'un objet DOM, et vous avez besoin d'utiliser la relation parent() deux fois, parce que le bouton se trouve à l'intérieur d'une cellule de données, qui vit à l'intérieur d'une ligne....qui est ce que vous voulez supprimer. $(this) est le bouton cliqué, alors il suffit d'avoir quelque chose comme ceci supprime uniquement le bouton:

$(this).remove();

Tout cela permettra de supprimer les données de la cellule:

    $(this).parent().remove();

Si vous souhaitez simplement de cliquer n'importe où sur la ligne à supprimer quelque chose de ce genre. Vous pouvez facilement modifier ce pour inviter l'utilisateur ou de ne travailler que sur une double-cliquer sur:

$(".delete").live('click', function(event) {
	$(this).parent().remove();
});

Espère que ça aide...j'ai eu du mal sur ce un peu moi-même.

46voto

Ian Lewis Points 666

Vous pouvez utiliser:

$($(this).closest("tr"))

pour trouver la ligne de la table parent d'un élément.

Il est plus élégant que le parent().parent() qui est ce que j'ai commencé à faire et vite appris l'erreur de mes moyens.

--Edit -- Quelqu'un a souligné que la question était à propos de la suppression de la ligne...

$($(this).closest("tr")).remove()

Comme l'a souligné ci-dessous, vous pouvez tout simplement faire:

$(this).closest('tr').remove();

Une semblable extrait de code peut être utilisé pour de nombreuses activités telles que le tir des événements sur plusieurs éléments.

16voto

Thurein Points 91

Facile... Essayez ceci

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X