我有以下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都会显示“extended”类。我想只显示div点击的扩展名。任何人都可以帮我这个吗?
答案 0 :(得分: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);
});
答案 1 :(得分:3)
在回调函数中,变量this
将包含对触发事件的DOM节点的引用:
$(this).next().slideToggle(0);