を使用してページを動的にロードし、 を使用し$.get()
て戻り値を解析しvar $content = $(data)
、最終的にセレクターを使用してドキュメントの特定の部分のみを見つけようとしています。$(data)
から返されたjQueryコレクションが非常に基本的なセレクターを見つけられない理由を理解できないのは私だけです。
非常に小さな HTML 文字列を使用して問題を説明するために、jsFiddle をセットアップしました。
<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?
<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
それ以外の非常に基本的なセレクターがノードを返さないのはなぜですか?