Reputation: 381
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
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
Reputation: 3609
As an alternative, for those who likes more programmatic ways and syntax:
$('#container-element img').last().remove();
Upvotes: 57
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
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
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