好久没有用Ajax了!今天复习了下~在做一个练习的时候,发现了一个问题:看下面代码~~
-
function createDiv(htm)
{
var myItemDiv = document.createElement("div");
var myContentDiv = document.createElement("div");
myItemDiv.setAttribute("class","item");
myContentDiv.innerHTML = htm;
myItemDiv.appendChild(myContentDiv);
var temp = document.getElementById("allContent");
var bef = temp.firstChild;
temp.insertBefore(myItemDiv,bef);
}
这段代码在FireFox IE8下都没有问题,但是在IE7中,
myItemDiv.setAttribute("class","item")这句会出现问题,具体表现为:class属性会无法正确的确定!
然后通过多次试验,发现IE7下setAttribute()不能正确的设置由createElement()创建的容器,具体原因不知道~~~,不过肯定是MS没有遵守W3C的问题~
郁闷了,想下貌似以前做Ajax开发的时候没有碰到这个问题,这是怎么回事呢?
回翻下以前的代码去
终于,在以前用AJAX写的一个留言板中发现了解决问题的方法:要解决这个问题,使用下面的语句
myItemDiv.className = "item";
恩,看来上期魔兽世界让我荒废的太多了,很多都不记得了,以后多努力,UP UP
恩,修改下!是IE7下setAttribute()不能正确的设置容器的class的属性~~~
而不是setAttribute()不能正确的设置由createElement()创建的容器