0

我有一组链接,我试图隐藏在一个切换中,但我下面的代码没有这样做。请问我做错了什么。谢谢你。

        <script>
                $("#navigation li a[id]").click(function()) {
                     $("#" + this.id.substr(1)).slideToggle(600).siblings('.toggleDiv').slideUp(600);
                });
        </script>


         <div id="search" class="toggleDiv" style="display:none">List</div>  
                <div id="sidebar">
                        <ul>
                            <li><a href="bios.php?id=1">President</a></li>
                            <li><a href="bios.php?id=2">Vice</a></li>
                            <li><a href="bios.php?id=3">Secretary</a></li>
                        </ul>      
                </div>
4

2 回答 2

0

jQuery 中的括号用于属性。

a[id]将不起作用,因为这些a标签没有id属性。你也没有#navigationdiv。

尝试$("#sidebar ul li a")

于 2012-08-29T23:49:17.777 回答
0

你错过了一个).

$("#" + this.id.substr(1))
                 //  ----^

但是,您的选择器不会选择锚元素,因为它们没有 ID 属性并且 this.idundefined. 看来您想获取href属性的 id 参数。

$("#sidebar li a").click(function()) {
    $("#"+this.href.slice(-1)).slideToggle(600).siblings('.toggleDiv').slideUp(600);
});
于 2012-08-29T23:47:32.873 回答