fire
fire

Reputation: 21531

jQuery insert element and overwrite

To empty a div and replace it with an image I am using:

$(this).html('');
$('<img/>', {
   src: 'blah.gif'
}).appendTo(this);

Is there a better way to do this?

*edit: I have to keep the $('<img/>' part in otherwise I could just do $(this).html('<img src="blah.gif">'); I know!!

Upvotes: 1

Views: 12247

Answers (2)

ericteubert
ericteubert

Reputation: 4601

I prefer .empty():

$(this).empty().append($('<img />', {
        src: 'blah.gif' 
    }
));

Upvotes: 0

Nick Craver
Nick Craver

Reputation: 630579

You can do this using .empty() or your current .html() with .append(), it's chained but not that much of an improvement:

$(this).empty().append($('<img />', { src: 'blah.gif' }));
//or..
$(this).html('').append($('<img />', { src: 'blah.gif' }));

Upvotes: 13

Related Questions