0

私はIE 8とFirefoxでうまく動作するこのコードを持っています

 <script type="text/javascript">
 function toggleDiv(divId) {
    $("#"+divId).toggle(); 
}
 </script>

 </head>

 <body>


 <br />
 <br />

 <a href="javascript:toggleDiv('myContent');">>> press 2 xxexamplexx</a>
 <div id="myContent" class='hidden'>
 <ul>


 <a href="javascript:toggleDiv('myContent1');"><div><li>xxexamplexx </li></div></a>
 <div id="myContent1" class='hidden'>

 <a href="javascript:toggleDiv('myContent2');">
 <li style="margin-left:7em;">xxexamplexx</li></a>
 <div id="myContent2" class='hidden'>
 <a href="javascript:toggleDiv('myContent3');">
 <li style="margin-left:10em;">xxexamplexx</li></a>
 <div id="myContent3" class='hidden'>
 <a href="javascript:toggleDiv('myContent4');">
 <li style="margin-left:11em;">xxexamplexx</li></a>
 <div id="myContent4" class='hidden'>
 <a href="javascript:toggleDiv('myContent5');">
 <li style="margin-left:14em;">xxexamplexx</li></a>
 <div id="myContent5" class='hidden'>
 <li style="margin-left:16em;"><b>xxexamplexx.</b></li>
 </div>

 </div>

 <a href="javascript:toggleDiv('myContent6');">
 <li style="margin-left:11em;">xxexamplexx</li></a>
 <div id="myContent6" class='hidden'>
 <li style="margin-left:14em;"><b>xxexamplexx</b></li>
 </div>

 </div>

 <div class="space"></div>
 </div><!--content2-->
 </div>

IE 6 でテストすると、トグルの半分が機能せず、デフォルトで表示されます。最初にページをロードすると表示されます。

どうすればこれを修正できますか?

IE 7 でも動作しません。

4

3 に答える 3

0

W3CValidatorを介してコードを実行することをお勧めします。これにより、発生しているHTMLエラーについて知ることができます。

たとえば、に<a>タグがありますが、に<ul>はありません<li>。これは無効です。

一部のブラウザではページが正常に表示される場合がありますが、このようなHTMLエラーが発生すると、問題が発生する可能性があります。最初にこれらの問題を修正してください。

于 2012-06-13T20:39:21.647 に答える
0

このコードには混乱があります。これを次のように構築する必要があります。

<ul>
  <li>
    <a>link</a>
    <ul>
      <li>
        no-link
      </li>
      <li>
        <a>link</a>
        <ul>
          ...
        </ul>
      </li>
  </li>
  <li>
    <a>link</a>
    <ul>
      ...
    </ul>
  </li>
</ul>

そして、id、hrefs を追加して関数を使用するか、次のように関数を使用することをお勧めします。

$("ul a").click(function(){
  $(this).parent().children("ul").toggle();
})
于 2012-06-09T20:42:48.100 に答える
0

これにより、ページが最初に読み込まれたときに、ID がmyContent

$(document).ready(function(e){
    $('div[id^="myContent"]').toggleClass('hidden');
});
于 2012-06-09T20:49:04.743 に答える