I’m currently using innerHTML to retrieve the contents of an HTML element and I’ve discovered that in some browsers it doesn’t return exactly what is in the source.
For example, using innerHTML in Firefox on the following line:
<div id="test"><strong>Bold text</strong></strong></div>
Will return:
<strong>Bold text</strong>
In IE, it returns the original string, with two closing strong tags. I’m assuming in most cases it’s not a problem (and may be a benefit) that Firefox cleans up the incorrect code. However, for what I’m trying to accomplish, I need the exact code as it appears in the original HTML source.
Is this at all possible? Is there another Javascript function I can us?
I don’t think you can receive incorrect HTML code in modern browsers. And it’s right behaviour, because you don’t have source of dynamicly generated HTML. For example Firefox’
innerHTMLreturns part of DOM tree represented in string. Not an HTML source. And this is not a problem because second</strong>tag is ignored by the browser anyway.