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

你在这段代码中有混乱。你应该这样构建:

<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>

然后添加 ids、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 回答
0

我建议通过W3C Validator运行您的代码。这将告诉您您遇到的 HTML 错误。

例如,您在 a 中有一个<a>标签<ul>,但在 a 中没有<li>。这是无效的。

该页面在某些浏览器中可能呈现正常,但是对于这样的 HTML 错误,您可能会发现它在某个地方存在问题。先解决这些问题。

于 2012-06-13T20:39:21.647 回答