I’m working with some XML from a database and parsing it with jQuery. This works fine everywhere except for IE8-, which I need to support. I have elements like <stem>, and I can get IE to somewhat support them by adding
document.createElement('stem');
etc. The problem is that some of these elements may contain HTML that I need to append to another element on the page. Something like
$("#page-element").append($xml.find('stem'));
I can use $xml.find('stem').text() just fine, but whenever I use .html or any DOM-manipulation methods (including the .append line above), IE gives the very helpful error
Unspecified error (line 4 of jquery-min.js)
Depending upon what I try to do, I can get
Unable to get value of the property ‘replace’: object is null or undefined (line 4)
instead.
Is there any workaround for getting HTML from non-HTML elements (and even HTML5 elements) in IE8-?
IE8- will allow you to get the text value of these non-HTML elements without complaining. You can then apply this as normal html with the
.htmlmethod, interestingly enough:http://jsfiddle.net/ExplosionPIlls/UTHpy/