IE在渲染时添加额外的HTML标记

IE在渲染时添加额外的HTML标记,html,internet-explorer,render,Html,Internet Explorer,Render,我将以下HTML标记作为输入粘贴到IE浏览器上,以代替浏览器上的选定内容: <span id='fs_892_3006_0' class='ParaMarked' FactType='NonNumeric' onclick='OnSpanClick("fs_892_3006_0", event)' IsFactMarked='true'> <fact id='892_3006_0' keyword=''> <P style="margin:

我将以下HTML标记作为输入粘贴到IE浏览器上,以代替浏览器上的选定内容:

<span id='fs_892_3006_0' class='ParaMarked' FactType='NonNumeric' onclick='OnSpanClick("fs_892_3006_0", event)' IsFactMarked='true'>
    <fact id='892_3006_0' keyword=''>
        <P style="margin: 0pt 0pt 10pt; line-height: 115%; font-size: 11pt;">
            <SPAN style="font-family: Calibri; font-size: 11pt;">THIS IS A TEST CONTENT 1</SPAN>
        </P>
    </fact>
</span>

这是一个测试内容1

但是,呈现HTML时,IE会在该HTML周围添加额外的标记,如下所示:

<p style="margin: 0pt 0pt 10pt; line-height: 115%; font-size: 11pt;">
   <span style="font-family: Calibri; font-size: 11pt;">
        <span id="fs_892_3006_0" class="ParaMarked" onclick='OnSpanClick("fs_892_3006_0", event)' IsFactMarked="true" FactType="NonNumeric">
          <fact id="892_3006_0" keyword="">
</p><p style="margin: 0pt 0pt 10pt; line-height: 115%; font-size: 11pt;"><span style="font-family: Calibri; font-size: 11pt;">THIS IS A TEST CONTENT 1</span></p></fact></span></span>

这是一个测试内容1

我尝试了以下技术将HTML粘贴到浏览器上,但得到了相同的结果:
注意:“markedText”是包含上述HTML输入的javascript变量

1.粘贴HTML(标记文本):
2.朗吉图书馆:
var sel=rangy.getSelection()
var范围=选择范围(0)
range.deleteContents()
var node=range.createContextalFragment(markedText)
range.insertNode(节点)

任何关于这方面的建议都将不胜感激


谢谢。

跨距中的p可能不起作用,因为它是内联元素中的块级元素


一些浏览器将通过将内联元素包装在块级元素(默认为“p”)中来“修复”该问题,并继续使用其余的标记。

嵌套似乎是错误的:

感谢您的回复。不知何故,上面的输入代码框丢失了标记。更新了上面的输入。仍然面临这个问题…尝试用内联元素替换元素,例如,另一个。使用CSS使其成为块级。也许IE或您的wysiwig(如果有的话)试图使内联元素不包含块。还有,是什么?在谷歌上找不到。是进一步处理html文档所需的自定义标记。元素来自匿名来源的输入文件。我无法控制更改此内容。我在这里所做的唯一操作是,在输入HTML周围添加自定义和标记,并将其粘贴到浏览器上。就这样吧:1。您可以从浏览器中获取选定的输入HTML。2.添加输入HTML3。将第2点的html输出粘贴到第1点的选定html中。好的,如果您可以控制span包装器,请尝试将其替换为,也许会有所帮助。是的。如果只添加了额外的而没有任何内联样式,这是可以理解的。但是,在上述情况下,和都添加了相同样式的html内容(即精确副本)。有什么原因吗?