jQuery() not finding elements in jQuery.parseHTML() result
You need to create a DOM element to append the results of .parseHTML()
first so that it creates a DOM tree before jQuery can traverse it and find div#app-container
.
var tempDom = $('<output>').append($.parseHTML(str));
var appContainer = $('#app-container', tempDom);
I used your example and got it working: http://jsfiddle.net/gEYgZ/
The .parseHTML()
function seems to choke on the <script>
tags, so I had to remove them.
PS. Obviously <output>
is not a real HTML tag, just using it for the example
You can try this:
$($.parseHTML('<div><span id="foo">hello</span></div>')).find('#foo');
for strings that start with <
you can shorter that code to just:
$('<div><span id="foo">hello</span></div>').find('#foo');