假设你有一个评论的html结构,它来自服务器(它被评论以提高渲染速度,比如FB)。之后我们应该删除我们的内容并允许浏览器呈现html。最快的方法是什么?
答案 0 :(得分:4)
答案 1 :(得分:3)
您可以使用“content()”方法来查看所有节点,包括评论:light和plugin free !!
然后你应该使用“filter()”方法过滤集合
$container
.contents()
.filter(function(){ return this.nodeType == 8; })
.remove(); // replaceWith() etc.
答案 2 :(得分:2)
function _removeComments(node) { if (!node || !node.parentNode) return; if (node.nodeType == 8) { node.parentNode.removeChild(node); return; } for (var c = node.firstChild; c; ) { var n = c.nextSibling; _removeComments(c); c = n; } } function removeComments(element) { element.each(function() { _removeComments(this); }); }
答案 3 :(得分:1)
$(stringHtml).comments().remove();
...使用jquery-comments插件:
答案 4 :(得分:1)
很好地获得评论的DOM然后执行replace()
var dom = $.trim($('#domcontainer').html()).replace('<!--','').replace('-->','');
答案 5 :(得分:0)
试试这个方法。为元素节点提供注释的HTML,这将删除注释块并显示HTML。
function uncommentNode(node) {
var nodestr = node.innerHTML;
var noderevealHTML = nodestr.replace(/<!--/ig, '').replace(/-->/ig, ''); // Update expressions here.
node.innerHTML = noderevealHTML;
}
如果您的注释HTML在注释开始/结束标记中有三个或更多短划线(&lt; - /&lt; ---),请务必更新上述函数中的replace()表达式。
这里有JSFIDDLE以获得更好的解释。