在我正在开发的应用程序中,用户通过文本框输入HTML来编辑页面上的元素。在这个阶段,用户可以添加任何类型的内容,甚至是有损坏的HTML和一些文本节点。
为了确保获得相对干净的代码,我会执行以下操作:
var s = document.createElement('div');
s.innerHTML = content;
// loop over each node in s, and if text node is found, wrap in span.
content = s.innerHTML
这段代码的问题在于如果内容是
<TD>Text</TD>
,那么得到的结果会是Text
,因为DIV
中不能有TD
。是否有一种方法可以在所有情况下都获取有效内容呢?