Getting HTML from XML with JavaScript/jQuery
I'开发者_运维问答ve got an XML document that contains a tag that has well-formed HTML content. I need to get that HTML into my page using JavaScript. However, due to CMS issues, the HTML CANNOT be escaped with < ![CDATA[ ]]> or anything else, and the <> must be present, not encoded to < ; > ;
<submenu>
<content>
<div>
<h3>Hello World</h3>
<p>Lorem <a href="ipsum.html">ipsum</a></p>
</div>
</content>
</submenu>
I've used jQuery to get the XML and put the submenu's into an array. I'm able to get the text with:
$(menuArray[n]).find('content').text();
However, this just returns "Hello World Lorem ipsum". I need the HTML. Unfortunately jQuerys' .html() method doesn't work with XML.
Is there any other way? Thanks in advance.
Not overly clean but could you not use something like found in this example JQuery Object to Sring and do something like...
var myHTML = $('<div>').append($(menuArray[n]).find('content').clone()).remove().html();
Ugly I know but should work
@Sam Nicholson gave us a good idea. I used it for a while, but now i solved my problem through another way.
By setting AJAX property 'dataType' to 'html' and forcing the server response to be text/html rather than text/xml. jQuery will let you use .html() to manipulate the nodes of your XML tree sent from your server
精彩评论