jQuery最接近的类选择器
Click me Information Click me Information Click me Information Click me Information
jQuery的
$('.Level2').click(function(){ $('.Level2').closest('.Level3').fadeToggle(); });
我想选择最接近的level3到fadeIn和fadeOut,但是不起作用。 我的语法错了吗? 在线样本: http : //jsfiddle.net/meEUZ/
尝试使用.next()
而不是遍历DOM元素祖先的.closest()
。
工作演示
你也应该使用$(this)
而不是$('.Level2')
否则它将选择所有.Level2
而不是点击的.Level2
。
你也可以这样做 – $(this).closest('.wrap').find('.Level3').fadeToggle();
。
干杯!
jQuery的.closest()方法不选择兄弟选择器,而是选择父节点 。 看起来你正在寻找.siblings()方法。
$('.Level2').click(function(){ $(this).siblings('.Level3').fadeToggle(); });
最接近dom树的旅行。 它找不到兄弟姐妹的东西。 您可以在父级上使用查找来实现此目的
$('.Level2').click(function(){ $(this).parent().find('.Level3').fadeToggle(); });
是的,在Jquery中有很多方法可以找到最接近的DOM元素
$('.Level1').click(function(){ $(this).next('.Level3').fadeToggle(); }); $('.Level2').click(function(){ $(this).closest('.wrap').find('.Level3').fadeToggle(); }); $('.Level4').click(function(){ $(this).parent().find('.Level3').fadeToggle(); }); $('.Level5').click(function(){ $(this).siblings('.Level3').fadeToggle(); });
.level{background:Red;width:200px;height:40px;} .Level3{background:blue;width:300px;height:50px;}
Click me()sing next) Information Click me(Using closest) Information Click me(Usingh Parent) Information Click me(Using Sibiling) Information
是! closest
从您传递给它的选择器开始DOM搜索,并向上移动DOM层次结构,搜索父项/祖先。 请改用siblings
或next
。 像这样:
$('.Level2').click(function(){ $(this).siblings('.Level3').fadeToggle(); });
从以下代码中获得清晰的想法:
' . '