3

ページからhtmlコメントを読み取り、アクションポップアップでレンダリングするChrome拡張機能を開発しています。

<html>ただし、タグの前後にあるコメントを取得する方法(および可能かどうか)がわかりません。例えば:

<!-- test test test -->
<DOCTYPE html>
<html>
...
</html>

jQueryでは$("html").before()$("html").after()どちらも。と同じものを返します$("html")

jQueryまたは純粋なJavascriptのいずれかを使用してこれらのタイプのコメントをフェッチすることは可能ですか?

編集:コメントのあるページは次のようになります:

<!-- Comment I'd like to fetch -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us" lang="en-us" >
<head>
<title>Featured Designers for WOMEN</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> 
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<meta http-equiv="Content-Style-Type" content="text/css" />
4

3 に答える 3

4

このドキュメントで:

<!-- comment 1 -->
<!DOCTYPE html>
<!-- comment 2 -->
<html>
<body>
hello world
</body>
</html>

次のような最初のコメントが表示されます。

document.firstChild.nodeValue

2番目のコメントは次のようになります。

document.childNodes[2].nodeValue

下のすべてのコメントを取得するにはdocument

var nodes = document.childNodes;
for (var i = 0, len = nodes.length; i !== len; ++i) {
    if (nodes[i].nodeType === 8) {
        console.log('Found comment' + nodes[i].nodeValue);
    }
}
于 2013-02-04T15:20:48.300 に答える
0

document.firstChildそれをする必要があります。

于 2013-02-04T14:01:53.623 に答える
0

$("html").siblings();これにより、私が信じているhtmlタグと同じレベルのすべてのdomオブジェクト要素が返されます。JSfiddleを使用して確認したかったのですが、現在IE8を使用してWebサイトでJavascriptエラーを受信して​​います。後で家に帰ったときに、テストでうまくいかないかどうかを確認できます。

于 2013-02-04T14:56:18.680 に答える