2013-02-21 68 views
1

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

<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> 

IE只显示<p>Sample</p>和注释丢失。任何指针?

+0

你不会希望看到的评论显示在屏幕上。你检查了dom检查器,看看它是否被添加? – 2013-02-21 15:30:36

+2

我很好奇这个评论的目的是什么?因为在运行时添加,评论似乎没用。 – Joe 2013-02-21 15:31:07

+0

另外,这可能是由于IE必须解析注释,比如'<! - [if lte IE 7]>' – Joe 2013-02-21 15:33:49

回答

2

你应该最有可能被使用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); 
} 

Sample

+0

谢谢。我以类似的方式做到了这一点。 – Dominic 2013-02-25 08:15:06

+0

实际上'innerHTML'不直接接受评论,比如'el2.innerHTML =“”; '。我必须使用'createComment'来插入评论。 – Dominic 2013-02-25 08:27:39