2009-10-30 7 views
27

je le code suivant:supprimer dernier élément append jquery

$(this).children("a:eq(0)").append('<img src="'+ (arrowsvar.down[1]) 
    +'" class="' + (arrowsvar.down[0]) 
    + '" style="border:0;" />' 
); 

Maintenant, je veux supprimer dernier élément annexe (une image). S'il vous plaît donner des suggestions.

Répondre

32

Vous pouvez utiliser le sélecteur :last-child pour trouver le dernier élément annexe, vous pouvez remove il:

$('img:last-child', this).remove(); 
// get the last img element of the childs of 'this' 
14

Le code de la question initiale peut générer des erreurs (en utilisant « ce » avec le sélecteur). Essayez l'approche suivante:

$("#container-element img:last-child").remove() 
+0

Si nous voulons éliminer tous les éléments que nous avons joint en annexe la dernière fois ?? –

+0

Vous pouvez éviter d'utiliser l'expression "Le code ci-dessus" car cela pourrait changer. – StubbornShowaGuy

+0

Merci - corrigé cela (de nombreuses années plus tard) – eugene

2

Essayez ceci. Juste ajouté .not (': last-child') qui exclut le dernier élément de votre collection. Vous n'avez donc pas besoin de l'enlever.

$(this).children("a:eq(0)").not(':last-child').append('<img src="'+ (arrowsvar.down[1]) 
    +'" class="' + (arrowsvar.down[0]) 
    + '" style="border:0;" />' 
); 
4

incroyable, merci beaucoup eugene, qui m'a vraiment aidé. J'ai dû enlever une table, j'ai utilisé le code suivant.

$("#mydivId table:last-child").remove() 
+2

Cela devrait être un commentaire à la réponse d'eugene, pas une réponse distincte en soi. – gtmtg

34

Comme alternative, pour ceux qui aime des moyens plus programmatiques et la syntaxe:

$('#container-element img').last().remove();