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 标签,其中一些 div 作为子节点,其中包含一些文本,例如“我想要的”。这在其他浏览器中运行良好,但在 IE8 中却不行。我应该怎么做才能在 IE8 中使用此代码?

4

2 回答 2

2

querySelectorAllIE8 中不起作用,例如仅在IE8 标准模式下起作用,并且在涉及 IE8 时有错误报告。

有关解决方案,请查看:

遗憾或幸运的是,由于这些跨浏览器问题,存在 JavaScript 库可以从中受益,从而为我们内部清除所有混乱。

于 2012-06-25T11:14:07.967 回答
0

这段代码在你的代码中做了什么alert(y[0].hasChildNodes());,因此它没有执行。

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

我已经发表评论alert(y[0].hasChildNodes());并且它正在工作。

于 2012-06-25T11:40:11.860 回答