使用div外部链接的next()

时间:2013-07-03 15:02:09

标签: jquery selector next

我将HTML结构化为:

<h2>Title 1 <span class="open">&nbsp;</span></h2>

<div class="licensesection" id="licensepage1">
//stuff
</div>


<h2>Title 2 <span class="open">&nbsp;</span></h2>

<div class="licensesection" id="licensepage2">
//stuff
</div>

和jQuery(在HTML之后加载):

$('.open').click(function () {
$(this).next('.licensesection').slideToggle('slow');
$(this).toggleClass('active');
});

next()的添加阻止了它的运作。我也试过

.next('div.licensesection')

但这也不起作用。我是否滥用了next()选择器?

1 个答案:

答案 0 :(得分:2)

正如我所提到的,next()适用于兄弟姐妹:

  

next() - 获取每个元素的紧随其后的兄弟   一组匹配的元素。

<span><h2>的子元素,它本身就是<div>的上一个兄弟,因此请parent()使用<h2> ,然后next()转到<div>,就像这样:

$('.open').click(function () {
  $(this).parent().next('.licensesection').slideToggle('slow');
  $(this).toggleClass('active');
});

jsFiddle here.