问题描述:
在 IE8 浏览器中,出现 Js 报错信息 "HTML Parsing Error: Unable to modify the parent container element before the child element is closed (KB927917)" 该错误在其他 IE 版本中可能也会出现。
解决方案:
此类问题一般是 HTML 结构不规范或者 JS 操作 DOM 元素时顺序不正确导致的。解决方案主要有以下两个方向:
- 规范 HTML 结构
由于此类问题与 HTML 结构有关,因此,需要规范 HTML 结构。 相关代码示例:
<div id="test">
<ul>
<li><a href="#">点击1</a></li>
<li><a href="#">点击2</a></li>
<li><a href="#">点击3</a></li>
</ul>
<div class="content"></div>
</div>
其中,content 标签应该放在 ul 标签后面,否则会出现类似 IE8 下的 Js 错误。
- 操作节点的正确顺序
在操作节点时,需要注意节点间的先后顺序,保证父节点在子节点之前被关闭。这种方法主要是通过函数的调用来控制 DOM 节点操作的先后顺序。相关示例代码:
var container = document.getElementById('container');
var div = document.createElement('div');
var p = document.createElement('p');
div.appendChild(p);
var node = container.childNodes[0];
container.insertBefore(div, node.nextSibling);
在以上 JS 代码中,我们通过 insertBefore
方法将 div
元素插入到 container
元素中,确保了父节点在子节点之前关闭的操作先后顺序。
综上所述,要解决 "HTML Parsing Error: Unable to modify the parent container element before the child element is closed (KB927917)" 的问题,主要是需要规范 HTML 结构和确保操作 DOM 元素时的顺序正确。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:IE8 下的Js错误HTML Parsing Error… - Python技术站