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

兼容模式下的switch case
先上代码

<ul>
    <li class="menu">www</li>
    <li class="menu">菜单二</li>
</ul>



$(".menu").click(function () {
    switch (this.innerHTML) {
       case "菜单二": 
            SelectedLi(this, "xxx", false);
            break;            
       case "www": 
            SelectedLi(this, "xxx", true);
            break;
       defualt:
            alert("无法比对");
            break;
    }
});


谷歌 火狐 IE9 IE8都正常, 在IE9的兼容模式下  和 IE7下  switch case出现无法比对的情况,this.innerHTML已经获取到"菜单二"也直接跳default。 

------解决方案--------------------
可能在那种模式下节点加入了什么内容了吧,你确定就这点代码?

$(".menu").click(function () {alert(this.innerHTML+"
------解决方案--------------------
"+this.innerHTML.length)