2015-08-13 57 views
0

好的,所以我想制作一个链接列表,并根据您选择的链接显示不同的div容器。我想要它,所以一次只显示一个div。我有代码,它正在工作,但是,当我在IE中加载它将无法工作。我听说日志是其中的一部分。我如何使这个代码IE兼容,或者如果你有另一个解决方案,我打开它的工作。jquery无法在IE7中工作?

我的代码:

<head> 
    <title>Example</title> 
    </head> 
    <body> 

    <!--Footer and Navigation Div's--> 
    <div id="bg"><img src="images/bg.jpg" alt=""></div> 
     <div id="footer"> 
      <p><span>Menu</span></p> 
       <div id="nav"> 
        <ul><a href="#">Link 1</a></ul> 
        <ul><a href="#">Link 2</a></ul> 
        <ul><a href="#">Link 3</a></ul> 
        <ul><a href="#">Link 4</a></ul> 
       </div> 
     </div> 

    <!--END Footer and Navigation Div's--> 

    <div class="parent"> 
     <div class="a"> 
      <p>this is a</p> 
     </div> 
     <div class="b"> 
      <p>this is b</p> 
     </div> 
     <div class="c"> 
      <p>this is c</p> 
     </div> 
     <div class="d"> 
      <p>this is d</p> 
     </div> 
    </div> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
    <script> 
    $('.parent div').hide(); 

    $('#nav a').click(function() { 
     console.log($(this).index('a')); 
     var $div = $('.parent > div').eq($(this).index('#nav a')); 
     $div.show(); 
     $('.parent > div').not($div).hide(); 
    }); 
    </script> 
    </body> 
    </html> 
+1

你观察到了什么时,它不会在你的方式”工作重新期待? –

+2

你还应该提及IE版本 –

+2

你还应该使用jquery的更新版本,1.4.2相当陈旧 –

回答

-2

这是你应该了解jQuery的第一件事。始终使用$(文件)。就绪...例:

<script> 
    $(document).ready(function() { 
     $('.parent div').hide(); 

     $('#nav a').click(function() { 
      console.log($(this).index('a')); 
      var $div = $('.parent > div').eq($(this).index('#nav a')); 
      $div.show(); 
      $('.parent > div').not($div).hide(); 
     }); 
    }); 
</script> 
+2

由于他们的javascript是在文档的末尾,'$(document).ready'在这里并不重要 –

+1

它可能是一个注释 –

+2

请详细说明为什么它应该不重要?该脚本开始运行时加载DOM,但整个页面仍在加载。 –

-2

尝试

$('#nav a').live('click',function() { 

$('#nav a').bind('click',function() { 
+0

我会在哪里准确地提出这个问题?这是我第一次使用Jquery。 – user5166162

+0

$('#nav a')。live('click',function(){ –

+3

'.live'已过时,它将被弃用。不要使用它。 – casraf