jquery:切换孩子onclick

时间:2010-11-08 17:14:58

标签: javascript jquery onclick toggle parent-child

单击“+”时,js / jquery代码会在下面列出切换子项的内容吗?

<ul>  
<li id="1" parent="0"><a href="#">1</a></li>  
    <li id="2" parent="0"><a href="#"> + </a><a href="#">2</a>  
        <ul parent="2">  
            <li id="23" parent="2"><a href="#">2.1</a></li>  
            <li id="50" parent="2"><a href="#"> + </a><a href="#">2.2</a>  
                <ul parent="50">  
                    <li id="123" parent="50"><a  href="#">2.50.1</a></li>  
                </ul>  
            </li>  
        </ul>  
    </li>
</ul>

2 个答案:

答案 0 :(得分:5)

您可以将.toggle().slideToggle().siblings()一起使用,如下所示:

$("ul a:contains( + )").click(function() {
  $(this).siblings("ul").toggle();
});

You can test it out here。请注意,虽然您的ID和属性无效,但您可能需要在此处使用data- attributes。另外,我建议为这些+个链接提供一个类,以使选择器更多更有效,例如:

<a href="#" class=".toggle"> + </a>

然后像这样绑定:

$("ul a.toggle").click(function() {
  $(this).siblings("ul").toggle();
});

答案 1 :(得分:0)

像这样的东西

$("ul a:contains('+')").click(function () {
  var $this = $(this);
  $this.siblings("ul").show();
});