Basharat Ali
Basharat Ali

Reputation: 381

remove last append element jquery

I have the following code:

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

Now I want to remove last appended element (an image). Please give suggestions.

Upvotes: 38

Views: 98061

Answers (5)

eugene
eugene

Reputation: 994

The code from the original question may generate errors (using "this" with the selector). Try the following approach:

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

Upvotes: 20

Arthur Kushman
Arthur Kushman

Reputation: 3609

As an alternative, for those who likes more programmatic ways and syntax:

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

Upvotes: 57

charles
charles

Reputation: 307

amazing, thank you very much eugene, that really helped me. I had to remove a table, i used the following code.

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

Upvotes: 6

StopGapDesign
StopGapDesign

Reputation: 21

try this. Just added .not(':last-child') which excludes the last element in your collection. So you don't have to remove it.

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

Upvotes: 2

Christian C. Salvad&#243;
Christian C. Salvad&#243;

Reputation: 827276

You can use the :last-child selector to find the last appended element, then you can remove it:

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

Upvotes: 36

Related Questions