如果我有contentEditable
div,我可以删除除IMG
以外的所有HTML元素和特定类。我问了一个问题,但我遇到了麻烦。问题是,Google Chrome使用div
作为换行符/分隔符,Internet Explorer使用p
,而Mozilla Firefox仅使用<br>
。
除了来自contentEditable
div的图像和保留所有浏览器的行之外,如何删除所有HTML元素?
我用过:
var element = document.getElementById("myDiv");
for(var i=0; i<element.children.length;i++)
{
if(element.children[i].tagName != "IMG" ||
element.children[i].className != "requiredClassName")
{
element.insertBefore(document.createTextNode(element.children[i].innerHTML.replace(/<\/?.*?\/?>/gi, ''), element.children[i]);
element.children[i].parentNode.removeChild(element.children[i]);
}
}
但它会导致IE和Chrome出现问题,它会删除所有行,并且所有文字都会排成一行。
我只需要纯JavaScript代码。