js在ie8下无法正常显示,在google,360等浏览器下正常。

function itemWeb(){
if(document.getElementsByTagName('li').length>10){

var str = "";
var obj = document.getElementById("item").innerHTML.split("</li>");
for(var i=0;i<8;i++){
str = str + obj[i] + "</li>";
}
str = str + '</ul></div><div class="block"><ul class="select_options">';
for(var i=8;i<obj.length;i++){
str = str + obj[i] + "</li>";
}

document.getElementById("item").innerHTML = str;
}
else{
document.getElementById("page").style.display="none";
}
}

这是在ie下显示的效果

这是在google下显示的效果

是js的问题导致的吗?

多半是样式导致的~浮动清了木有?
宽度设一下。追问

不是样式问题,是js在ie下没有对图片按8个一页进行div分隔,直接将所有图片显示在一个div中。也就是在ie下没有循环div将图片分页

追答

你好像第二个UL没有闭合?第二次for循环之后,没有加...

追问

问题好像是大小写的原因,我在代码中写的是小写的,想在将li该为大写LI在ie下就行了,但是在Google下又有问题
var obj = document.getElementById("item").innerHTML.split("");
是我的html的开头有定义吗?

追答

那就是IE下。innerHTML返回的是大写的标签

如果内容不包含英文,可以用
toLocaleLowerCase()转换成小写字符。那用小写分割成数组就可以了

不行就进行浏览器判断:
if(document.all){
大写分割

}else{
小写分割

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-23
样式问题 跟JS没什么关系
相似回答