- Published on
outerHTML in Firefox
- Authors
-
-
- Name
- David Mohundro
- Bluesky
- @david.mohundro.com
-
Now this is different, eh? A post on JavaScript instead of .NET! This is a
little trick I came up with to add outerHTML
functionality in Firefox. For
those who aren’t familiar with outerHTML
, it is an IE addition to the DOM
that will return the element’s HTML PLUS it’s innerHTML
. Is it really needed?
No, but it can help with debugging sometimes. Here’s the code:
if (document.body.__defineGetter__) { if (HTMLElement) { var element = HTMLElement.prototype if (element.__defineGetter__) { element.__defineGetter__('outerHTML', function () { var parent = this.parentNode var el = document.createElement(parent.tagName) el.appendChild(this) var shtml = el.innerHTML parent.appendChild(this) return shtml }) } }}
This entire thing revolves around the __defineGetter__
method off of objects.
To be honest, I don’t know if it is standard JavaScript or if it is just a
Mozilla extension. It makes extending the DOM a lot easier, though. I probably
wouldn’t trust this in a production environment, but I wouldn’t hesitate to use
it for testing.