我有这个代码在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。
答案 0 :(得分: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();
})
答案 1 :(得分:0)
当页面加载id为myContent
$(document).ready(function(e){
$('div[id^="myContent"]').toggleClass('hidden');
});
答案 2 :(得分:0)
我建议您通过the W3C Validator运行代码。这将告诉您有关的HTML错误。
例如,您在<a>
中有一个<ul>
标记,但在<li>
中却没有。这是无效的。
在某些浏览器中页面可能会呈现正常,但是如果出现这样的HTML错误,您可能会发现它在某些地方存在问题。首先解决这些问题。