在特定HTML注释后插入HTML块

我想知道我是否可以在特定的HTML注释后插入HTML代码,而不是在HTML元素(如

例如,我想在下面的第一个评论标记之后插入开始标记

; 以及第二个注释标记后的结束标记

。 有人知道如何解决这个问题吗?

  
Page Content Here

先感谢您。

埃琳娜

HTML comment在DOM层次结构中具有自己的对应节点,并且它的nodeType属性为8 。 像Firebug或Google Console这样的DOM检查器不显示它们,但是,您可以通过查看页面源找到它们,如果元素是body元素的子元素,则可以通过以下方式过滤childNodes

 $('body').contents().each(function(i, elem){ if (elem.nodeType == 8) { // This is a Comment node // Comment { data=" Insert Closing Tags Below", length=26, nodeType=8, more...} // You can select all the next sibilngs of the first // Comment node including the second Comment Node // and then wrap all of them } }); 

做你想做的事没有意义,浏览器只显示服务器发送的文档的初始版本,使用JavaScript操作文档不会改变源视图。 此外,您只能将Nodes添加到文档中,除非您正在操作另一个元素的innerHTML ,否则不能将一些字符串放在DOM中作为DOM元素进行解析。 我建议包装#CONTENT元素:

 $('#CONTENT').wrap('
');

结果如下:

  
Page Content Here