2012-06-25 85 views
0
<html> 
<head></head> 
<body> 
<div class="abcd"></div> 
<style> 
.new_info { 
color:red; 
} 
</style> 
<script> 

function getBox(){ 
    var sende = document.querySelectorAll(".abcd"); 

    alert(sende[0].hasChildNodes()); 
    alert(y[0].hasChildNodes()); 
    if(sende[0].hasChildNodes() == false && sende[0].nodeValue == null){ 
      var newdiv = document.createElement('div'); 
      newdiv.innerHTML = "which i want"; 
      newdiv.className = "new_info"; 
      sende[0].appendChild(newdiv); 
} 
} 
getBox(); 

</script> 
</body> 
</html> 

在上面的代碼中,我想填充具有類'abcd'與一些div作爲childnode具有一些文本,如'我想要'的div標籤。這在其他瀏覽器中工作良好,但不在IE8中。 我應該怎麼做IE8中的這段代碼呢?這是什麼錯我的JavaScript代碼?它不工作在IE8

+0

這段代碼做了什麼alert(y [0] .hasChildNodes());'因爲它不在IE8中執行 –

+0

請看這個演示:http://jsfiddle.net/rathoreahsan/NmFNH/我有評論'警報(y [0] .hasChildNodes());'它工作正常。 –

回答

2

querySelectorAll不IE8如只工作只能在IE8標準模式和有它bug reports當涉及到IE8。

對於解決退房:

可悲或幸運的是,因爲這些跨瀏覽器的問題,存在的JavaScript庫在內部受益於它清除所有那些亂七八糟我們。

+0

比這是什麼解決方案? –

+0

@PoojaDesai:請參閱更新的答案。 – Blaster

+0

任何參考? –

0

這段代碼在你的代碼中做了什麼alert(y[0].hasChildNodes());,因爲它沒有執行。

見演示:http://jsfiddle.net/rathoreahsan/NmFNH

我評論alert(y[0].hasChildNodes());,它是工作。