Javascript 访问外部的评论节点<;html>;标签

Javascript 访问外部的评论节点<;html>;标签,javascript,jquery,html,dom,Javascript,Jquery,Html,Dom,我正在开发一个chrome扩展,它可以从页面读取html注释,并将它们呈现在动作弹出窗口中 但是,我不知道如何(如果可能的话)获取标记前后的一些注释。例如: <!-- test test test --> <DOCTYPE html> <html> ... </html> document.firstChild应该这样做。$(“html”).sibbins()这将返回与我相信的html标记处于同一级别的所有dom对象元素。我想通过使用JSFIDL

我正在开发一个chrome扩展,它可以从页面读取html注释,并将它们呈现在动作弹出窗口中

但是,我不知道如何(如果可能的话)获取
标记前后的一些注释。例如:

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

document.firstChild应该这样做。

$(“html”).sibbins()这将返回与我相信的html标记处于同一级别的所有dom对象元素。我想通过使用JSFIDLE进行确认,但我现在在他们使用IE8的网站上收到了Javascript错误。我可以在回家后确认,如果在你的测试中它对你不起作用

使用本文档:

<!-- comment 1 -->
<!DOCTYPE html>
<!-- comment 2 -->
<html>
<body>
hello world
</body>
</html>
第二条评论如下:

<!-- 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" />
document.firstChild.nodeValue
document.childNodes[2].nodeValue
要获取
文档下的所有注释

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);
    }
}

我认为HTML注释不会附加到DOM树中。
jQuery.before()
jQuery.after()
插入内容:)没错,@jensgram!My bad=)
文档。firstChild
正在返回DOCTYPE标记
$(“html”)。Sides()
返回一个空数组html看起来像什么?嘿@Jack,要获得第二条注释,它可能可以工作。但是document.firstChild.nodeValue返回null(至少在chrome上是这样)。@fegemo我实际上已经在chrome上测试过了;但是我的答案的最后一部分应该是有效的。@fegemo它在fiddle中不起作用,因为fiddle会删除注释。@fegemo我已经在空白页面上测试了您的HTML,运行JavaScript会将单个注释输出到控制台。您是对的,@Jack。我不知道发生了什么,但它现在起作用了。很抱歉给您带来麻烦,谢谢您的回复!