QueryでHTMLプレーンテキストから要素を取得する時、以下コード例のようにbodyの子要素は取得できず、bodyの孫要素は取得できるようです。
bodyの子要素を取得することが出来ない原因・jQueryでbodyの子要素を取得する方法があれば教えて下さい。
body直下にページ全体を覆うdiv要素を入れて全ての要素をbody孫以下にすれば目的とする要素を取得すること自体はできますが、場当たり的な対策になるので、できれば原因と正しい対策が知りたいと思います。
html
1<html> 2<head> 3<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script> 4<script> 5const html = ` 6<html> 7<body> 8 <div id='outerDiv'> 9 <div id='innerDiv'>hoge</div> 10 </div> 11</body> 12</html> 13`; 14console.log( $("#outerDiv", html).length ); // 0件。取得できない。 15console.log( $("#innerDiv", html).length ); // 1件。取得できる。 16</script> 17</head> 18<body>
jQueryに拘らなければ以下のように取得できることは確認しています。
javascript
1var dom_parser = new DOMParser(); 2var document_obj = dom_parser.parseFromString(html , "text/html"); 3document_obj.getElementById("outerDiv"); // 取得できる
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/16 00:55
2020/03/16 02:59