HTML converted to jQuery collection not searchable with selectors?
Posted
by
jimp
on Stack Overflow
See other posts from Stack Overflow
or by jimp
Published on 2012-09-26T21:29:30Z
Indexed on
2012/09/26
21:37 UTC
Read the original article
Hit count: 275
jQuery
|jquery-selectors
I am trying to dynamically load a page using $.get()
, parse the return with var $content = $(data)
, and ultimately use selectors to find only certain parts of the document. Only I cannot figure out why the jQuery collection returned from $(data)
does not find some very basic selectors.
I set up a jsFiddle to illustrate the problem using a very small string of HTML.
<html>
<head>
<title>See Our Events</title>
</head>
<body><div id="content">testing</div></body>
</html>
I want to find the <title>
node.
var html = "<html>\n"+
"<head>\n"+
" <title>See Our Events</title>\n"+
"</head>\n"+
"<body><div id=\"content\">testing</div></body>\n"+
"</html>";
var $content = $(html);
console.log($content.find('title').length); // Logs 0. Why?
If I wrap a <div>
around the HTML, then the selector works. (But if you look at the jsFiddle, other variations of the selector still do not work!)
var html = "<div><html>\n"+
"<head>\n"+
" <title>See Our Events</title>\n"+
"</head>\n"+
"<body><div id=\"content\">testing</div></body>\n"+
"</html></div>";
var $content = $(html);
console.log($content.find('title').length); // Logs 1.
Please look at the jsFiddle, too. It contains more examples than my code here to keep the post easier to read.
Why does my otherwise very basic selector not return the title
node?
© Stack Overflow or respective owner