2015-05-04 537 views
2

我嘗試將以下代碼實施到我的項目中。但我也想添加一個額外的。如果我點擊按鈕打開(活動)div它應該再次關閉。我正在做一個foreach循環。我會有很多#content,所以它必須是類似.content如果它打開或關閉,則關閉div如果關閉

我應該在這個漂亮的代碼塊上添加或更改什麼?

以下所有東西都需要。

http://jsfiddle.net/ardeezstyle/4FKCa/

+2

爲什麼你不使用.toggle,並使此代碼簡單 –

回答

0

我替換了一些你的js。現在按鈕具有數據目標屬性。你必須在這個屬性中放置一個css選擇器。當你點擊一個按鈕時,js將使用data-target屬性來選擇需要顯示的內容。

$("table .load-content").on("click", function() { 
    var currentRow = this.parentNode.parentNode; 
    if ($(this).hasClass('content-loaded')) { 
     $(currentRow).next().toggleClass('hidden'); 
    } else { 
     var content = "<tr class='loaded-content'><td colspan='5'>" + $(this.getAttribute('data-target')).html() + "</td></tr>"; 
     $(content).insertAfter(currentRow); 
     $(this).addClass('content-loaded'); 
    } 
}); 

下面是完整的代碼: http://jsfiddle.net/LLaaqqvr/5/

爲什麼只是沒有把你想要直接在表格中顯示的內容?它會更容易。

+0

但第一個tr後其他按鈕不工作 – hakiko

+0

對於每個按鈕,你必須指定一個數據目標,我只做了兩個第一個。 –