我用它来切换元素的可见性:
$(".trigger").click(function() {
$(this).next().slideToggle();
});
<p class="triggger">Trigger</p>
<p class="target">this is the target</p>
它的工作乐趣,但我想这样做,所以下一个元素只有切换,如果它有一类目标。以下不起作用:
$(this).next().hasClass("target").slideToggle();
答案 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();
}