在innerHTML中插入注释

Dom*_*nic 1 javascript dom

我试图在innerHTML 中插入HTML 注释,但IE8 不接受它。FF 工作正常。

<html>
<head>
    <title>testing</title>
    <script language="javascript">
    function testcmt() {
        var el2 = document.createElement("div");
        el2.innerHTML = "<!--Sample--><p>Sample</p>";
        alert( el2.innerHTML );
    }
    </script>

</head>
<body id="BodyID">
    <h2>Test</h2>
    <input type="button" value="Sample" onmousedown="testcmt(); return false">
</body>
Run Code Online (Sandbox Code Playgroud)

IE只显示<p>Sample</p>,没有注释。有什么指点吗?

Joe*_*Joe 5

您很可能应该使用document.createComment

function testcmt() {
    var el2 = document.createElement("div");
    el2.setAttribute('id', 'oxe_rem_now' + '232323232323');
    el2.appendChild(document.createComment('text for comment'));
    var p = document.createElement("p");
    p.innerText = "Sample";
    el2.appendChild(p);
    alert(el2.innerHTML);
}
Run Code Online (Sandbox Code Playgroud)

样本