Если у меня есть contentEditable
div, я могу удалить все элементы HTML, кроме IMG
с определенным классом. Я задал вопрос об этом, но у меня проблемы с этим. Проблема в том, что Google Chrome использует div
s как разрыв / разделитель строк, Internet Explorer использует p
, а Mozilla Firefox использует только <br>
.
Как я могу удалить все элементы HTML, за исключением изображений, из contentEditable
div и сохранить строки для всех браузеров?
Я использовал:
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.