4

我有以下 HTML,因为我使用的是 Wordpress,所以我无法更改每个 div 的类。

<div class="show_hide">content1</div>
<div class="extended">extension of content 1</div>
<div class="show_hide">content2</div>
<div class="extended">extension of content 2</div>

我的 jQuery 脚本如下:

 <script type="text/javascript">

    $(document).ready(function(){


        $(".sliding").hide(0);
        $(".show_hide").show(0);

    $('.show_hide').click(function(){
    $(".sliding").slideToggle(0);
    });

});

</script>

现在,当单击 show_hide div 时,两个带有“扩展”类的 div 都会显示。我只想显示 div 点击的扩展名。谁能帮我这个?

4

2 回答 2

7

如果.extended元素是元素的紧随其后的兄弟.show_hide元素,则可以使用next

$('.show_hide').click(function(){
    $(this).next().slideToggle(0);
});

如果中间还有其他元素,可以使用nextAll,然后将选择减少到第一个匹配项(使用eq):

$('.show_hide').click(function(){
    $(this).nextAll('.extended').eq(0).slideToggle(0);
});
于 2012-06-06T07:32:15.893 回答
3

在回调函数中,变量this将包含对触发事件的 DOM 节点的引用:

$(this).next().slideToggle(0);
于 2012-06-06T07:32:52.390 回答