很简单的一段jq代码效果是点击li从而切换div,但是IE8下脚本却不执行完全,到了$(this).click(function()这里就不执行了,这是为什么呢?在ie9下打开安装控件之后就正常,IE8下却没有安装控件的提示。
求大神讲解,谢谢!!<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <title> New Document </title>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
   <script type="text/javascript" src="jQuery-1.7.1.min.js"></script>
  
  <script type="text/javascript">
     $(function(){
 
$(".list li").each(function(index){

$(this).click(function(){
$(".content .show").removeClass("show");
$(".content .di").eq(index).addClass("show");
});

});
 
 })
  </script>
  
 </head> <body>
<div id="container">
<div name="content" id="content">
<div class="list">
<ul>
<li>随你吃</li>
<li>任你喝</li>
<li>让你玩</li>
<li>尽情乐</li>
</ul>
</div>
<div class="content">
<div class="di show"><h1>随你吃</h1></div>
<div class="di"><h1>任你喝</h1></div>
<div class="di"><h1>让你玩</h1></div>
<div class="di"><h1>尽情乐</h1></div>
</div>
</div>
</div>

 </body>
</html>

解决方案 »

  1.   

    $(".list li").each(function(index,ele){
    $(ele).attr("i", index);
    $(this).click(function(){
    $(".content .show").removeClass("show");
    $(".content .di").eq($(ele).attr("id")).addClass("show");
    });

    });
     
      

  2.   


    谢谢,不过仍然不起作用啊,在$(this).click(function(){
    $(".content .show").removeClass("show");
    $(".content .di").eq($(ele).attr("id")).addClass("show");
    });这里放入alert的话,打开网页没有弹框的
      

  3.   

    不知道你的样式咋设置的, 显示影藏用hide()和show()方法吧
      

  4.   

    $(".list li").each(function(index , ele){
    $(ele).attr("i",index);
    $(this).click(function(){
    $(".content div").hide()
    $(".content div").eq($(ele).attr("i")).show();
    });

    });
      

  5.   

    非常感谢啊!!我弄明白了,你说得对确实是css的设置有问题,用上了滤镜,感谢!!