Oliver
Oliver

Reputation: 11607

Replace whole element rather than innerHTML?

I can do this:

$('my-panel').innerHTML = '<p> New content </p>';

But if there any way of doing something like

$('my-panel').wholeHTML = "<div id='my-panel'><p> New Content</p></div>";

I can't find any way. If I can't do something like this, I'll have to refactor a whole bunch of stuff, which would be time consuming.

Upvotes: 6

Views: 1551

Answers (3)

stecb
stecb

Reputation: 14746

You use mootools, right? you could easily replace the element, i.e.:

Elements.from("<div id='my-panel'><p> New Content</p></div>").replaces($("my-panel"));

Upvotes: 2

blejzz
blejzz

Reputation: 3349

you can always get the tags parentNode and replace his innerHTML

         $('my-panel').parentNode.innerHTML = '<p> New Content</p>'

Upvotes: 1

pimvdb
pimvdb

Reputation: 154848

What about outerHTML, which includes the 'whole' tag:

$('my-panel').outerHTML = '<p> New content </p>';

http://jsfiddle.net/pimvdb/Sah2U/1/

Upvotes: 6

Related Questions