日期:2014-05-16  浏览次数:20532 次

IE6下,js改变className无效的问题
visited是css里面的一个。用来改变背景用的。
现在先onmouseover
JScript code

document.getElementById("liid").className="visited";

这个有效果。
但是再onmouseout
JScript code
document.getElementById("liid").className="";

背景依然存在。也就是说这个“visited”还在起作用。其它浏览器都有效果。唯有这个IE6出这样的问题。这是为什么呢?

------解决方案--------------------
把这个部分的HTML 也贴出来吧。
------解决方案--------------------
写成函数会出错?
function outVisited(liid)
{
JS(liid).className="";
}

------解决方案--------------------
那你用jquery来实现吧。
------解决方案--------------------
<script>
var JS=function(id) { return document.getElementById(id); }
function onVisited(liid) { JS(liid).className="visited"; }
function goto(a){ alert("yes")}
</script>

<style>
li{display:block; background-color:#ff0000; border:solid 1px #999;}
.visited{background-color:green}
</style>
<li id="liIndex" onclick="goto(1)" onmouseover="onVisited('liIndex')" onmouseout="this.className=''">首页</li>