微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jQuery显示/隐藏兄弟姐妹

如何解决jQuery显示/隐藏兄弟姐妹

| 我有这段代码,旨在首先隐藏除第一个之外的所有相关元素。这样,就可以了。接下来,它应该根据选择的项目显示/隐藏这些元素。但是那部分不起作用。有什么想法吗? jQuery的:
$(\"#accordion dl:not(:first-child)\").hide();  //hide all but first
$(\"#menu_list a\").click(function (){
 var selected = this.name; //get ID from <a> name
 $(\'#\'+selected).show(\'slow\').siblings().hide(\'slow\'); //show ID by selected name,hide the rest
});
HTML:
<div id=\"menus\">
    <ul id=\"menu_list\">
        <li><a href=\"\" class=\"menuselect\" name=\"menu1\">Menu_1</a></li>
        <li><a href=\"\" class=\"menuselect\" name=\"menu2\">Menu_2</a></li>
        <li><a href=\"\" class=\"menuselect\" name=\"menu3\">Menu_3</a></li>
    </ul>       
    <div id=\"accordion\">
        <dl id=\"menu1\">
            <dt>
                <h3>Menu 1 Item 1</h3>
            </dt>
            <dd>
                <p>Quisque scelerisque scel nisl at pellentesque. Quisque scelerisque scel nisl at pellentesque.</p>
            </dd>
        </dl>           
        <dl id=\"menu2\">
            <dt>
                <h3>Menu 2 Item 1</h3>
            </dt>
            <dd>
                <p>Quisque scelerisque scel nisl at pellentesque. Quisque scelerisque scel nisl at pellentesque.</p>
            </dd>
        </dl>           
        <dl id=\"menu3\">
            <dt>
                <h3>Menu 3 Item 1</h3>
            </dt>
            <dd>
                <p>Quisque scelerisque scel nisl at pellentesque. Quisque scelerisque scel nisl at pellentesque.</p>
            </dd>
        </dl>
    </div>
</div>
编辑:已解决- 好,我知道了。由于我将选择附加到链接,因此它会不断刷新单击页面。因此,它在技术上是可行的,但由于页面正在刷新,因此再次隐藏。
$(\"#accordion dl:not(:first-child)\").hide();
$(\"#menu_list a\").click(function ( e ) {
    var selected = this.name;
    $(\'#\'+selected).show(\'slow\').siblings().hide(\'slow\');
    e.stopPropagation();
    return false;
});
    

解决方法

        这应该工作。请注意,您的代码中缺少第一个“ 3” 现场演示:http://jsfiddle.net/wVJ52/
$(\"#accordion dl:not(:first-child)\").hide();  //hide all but first
$(\"#menu_list a\").click(function () {
    $(\'#accordion dl\').hide(\'fast\');
    $(\'#pnl\'+this.name).show(\'fast\');
});
    ,        现场演示 似乎正在为我工​​作,或者也许我没有完全理解这个问题。我注意到的一件事是您丢失了第一项的结尾
<dl>
标签。在我添加完之后,它们似乎都工作正常。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。