function evalHTML(value) { if (typeof(value) != 'string') { return null; } value = MochiKit.Format.strip(value); if (value.length == 0) { return null; } var parser = MochiKit.DOM.DIV(); var html = MochiKit.DOM.currentDocument().createDocumentFragment(); var child; parser.innerHTML = value; while ((child = parser.firstChild)) { html.appendChild(child) } return html } function evalHTMLRequest(req) { return evalHTML(req.responseText); }
evalHTML takes a string and returns a DocumentFragment? object representing the HTML Nodes suitable of inserting via MochiKit or regular DOM, Works in IE, FireFox? and Safari
example:
MochiKit.DOM.appendChildNodes(document.body, evalHTML('<p>Hello World</p>'))
evalHTMLRequest is useful combined with MochiKit.Async.doSimpleXMLHttpRequest to load html fragments or pages
With an html fragment available at http://www.example.com/frag.html can be retrieved easily with the below code
var d = doSimpleXMLHttpRequest("http://www.example.com/frag.html") d.addCallback(evalHTMLRequest); d.addCallback(function(html) { //do something with the html nodes here });
