我想知道如果我可以在特定的HTML注释之后而不是HTML元素中,如插入HTML代码<div>
例如,我想插入开口标签<div id="OUTER"><div id="INNER">
低于第一注释标记后; 与闭合标签</div></div>
第二注释标记之后。 是否有人知道如何去吗?
<!-- Insert Opening Tags Below -->
<div id="CONTENT">Page Content Here</div>
<!-- Insert Closing Tags Below-->
先感谢您。
埃琳娜
HTML comment
在DOM层次它自己相应的节点,它的nodeType
属性是8
。 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并没有改变源视图中的服务器和操作文档发送文档的初始版本。 此外,你只能节点添加到文档中,你不能把一些字符串在DOM来解析为DOM元素,除非你操纵innerHTML
另一个元素。 我建议包裹#CONTENT
元素:
$('#CONTENT').wrap('<div id="OUTER"><div id="INNER"></div></div>');
这会导致:
<!-- Insert Opening Tags Below -->
<div id="OUTER">
<div id="INNER">
<div id="CONTENT">Page Content Here</div>
</div>
</div>
<!-- Insert Closing Tags Below-->