IE不从列表项触发器切换

时间:2013-04-18 21:05:01

标签: jquery html internet-explorer

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()上。有什么想法吗?

谢谢!

1 个答案:

答案 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();
});