2016-03-04 68 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

啊!感謝您的解釋。 –