- 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.