2013-02-21 58 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