jQuery如果元素是下一个并且有类?

时间:2014-05-16 13:31:36

标签: jquery

我用它来切换元素的可见性:

$(".trigger").click(function() {
    $(this).next().slideToggle();
});
<p class="triggger">Trigger</p>
<p class="target">this is the target</p>

它的工作乐趣,但我想这样做,所以下一个元素只有切换,如果它有一类目标。以下不起作用:

$(this).next().hasClass("target").slideToggle();

4 个答案:

答案 0 :(得分:5)

这样可以解决问题:

$(this).next(".target").slideToggle();

.slideToggle()只会在下一个元素上触发,如果它的className只有target

答案 1 :(得分:0)

Jquery .next(),支持选择器(.next([selector ]))。

试试这个:

$(".trigger").click(function() {
    $(this).next(".target").slideToggle();
});
  

$(this).next(".target") - 将使用触发器类选择每个元素的下一个兄弟。只保留具有“目标”类别的那些。

<强> Working Example

答案 2 :(得分:0)

函数hasClass(&#39; target&#39;)返回一个boolean..So而是将您的函数更改为以下内容。

$(".trigger").click(function() {
    if($(this).next().hasClass('target')) { $(this).next().slideToggle(); }
});

问候。

答案 3 :(得分:-1)

试试这个

if($(this).next().hasClass("target"))
{
       $(this).next().slideToggle();
}