我正在尝试使用 动态加载页面$.get()
,使用 解析返回var $content = $(data)
,并最终使用选择器仅查找文档的某些部分。只有我无法弄清楚为什么返回的 jQuery 集合$(data)
没有找到一些非常基本的选择器。
我设置了一个jsFiddle 以使用非常小的 HTML 字符串来说明问题。
<html>
<head>
<title>See Our Events</title>
</head>
<body><div id="content">testing</div></body>
</html>
我想找到<title>
节点。
var content = "<html>\n"+
"<head>\n"+
" <title>See Our Events</title>\n"+
"</head>\n"+
"<body><div id=\"content\">testing</div></body>\n"+
"</html>";
var $content = $(content);
console.log($content.find('title').length); // Logs 0. Why?
console.log($content.html()); // Logs null. Why?
如果我将 a 包裹<div>
在 HTML 周围,则选择器可以工作。(但是如果您查看 jsFiddle,选择器的其他变体仍然不起作用!)
var content = "<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 = $(content);
console.log($content.find('title').length); // Logs 1.
console.log($content.html()); // Logs subset of the source. Why?
请也看一下 jsFiddle。它包含比我的代码更多的示例,以使帖子更易于阅读。
为什么我原本非常基本的选择器不返回title
节点?