jQuery的:
$( '#mainNavSidebar .subListTrigger' ).click( function(){
$( this ).next( '.subList' ).toggle();
});
HTML:
<style>.subList{ display: none; }</style>
<ul id="mainNavSidebar">
<li class="subListTrigger">
<a>About Us</a>
</li>
<ul class="subList">
<li><a>Welcome</a></li>
<li><a>Mission</a></li>
</ul>
</ul>
所以我坚持使用旧版本的jQuery,这就是为什么我使用click()而不是on()。但这在Chrome和Firefox中运行良好,但它在IE中没有任何作用。如果我在那里发出警报就会这样做,所以我认为问题出在next()或toggle()上。有什么想法吗?
谢谢!
答案 0 :(得分:3)
您的HTML无效,IE最有可能以破坏代码的方式为您修复。
让你的HTML有效。
<style>.subList{ display: none; }</style>
<ul id="mainNavSidebar">
<li class="subListTrigger">
<a>About Us</a>
<ul class="subList"> <!-- the only valid child of a ul is a li -->
<li><a>Welcome</a></li>
<li><a>Mission</a></li>
</ul>
</li>
</ul>
...
$( '#mainNavSidebar .subListTrigger' ).click( function(){
$( '.subList', this ).toggle();
});