2016-03-04 64 views
0

我目前在页面上显示多个项目,其默认情况下隐藏了其描述。描述可以通过使用类.morebtn按压在div显示然而jQuery代码没有办法的唯一识别哪个.morebtn涉及描述(.desc)如何仅使用.slideUp()或.slideDown()仅针对特定子项

<div> 
    <span class="item">Item Name</span> 
    <div class="btn addbtn" alt="Add to your basket"></div> 
    <div class="btn morebtn" alt="More information"></div> 
    <div class="desc">Hello this is a test description for the above item. </div> 
<div> 

将有代码的多个实例以上取决于我的数据库中的项目条目数量。 什么是最好的方式,使我可以让morebtn只显示在同一个div内的desc描述?

+1

单击处理程序,你可以找到像'$(本)。接下来的下一个'desc'元素( '递减')切换()' –

+0

HTTPS ://jsfiddle.net/arunpjohny/0o2tLs7L/1/ –

回答

1

使用这样的事情:

$(document).ready(function() { 
    $("body").on("click",".morebtn",function() { 
     var ele = $(this); 
     $(this).next(".desc").toggle(); 
    }); 
}); 
+1

这是一个奇怪的构建附加点击处理程序。任何特殊的原因,不仅仅是做'$(“。morebtn”)。on(“click”,funct ...'? (在你的例子中它从body到.morebtn一路冒出来,但是我不能在这种情况下,为什么你会想要这个) –

+0

我假设该部分将在运行时实时动态添加,所以我使用了事件委派技术。 –

+0

啊!感谢您的解释。 –