我有一個從數據庫中拉出的項目表。該項目佈局如下:用jQuery顯示和隱藏動態生成的表格元素
(+) 02/04/2014
Item 1
(+) 02/05/2014
Item 2
Item 3
(+) 02/06/2014
Item 4
Comment for item 4
Item 5
日期下的項目是隱藏的,當用戶點擊(+)號,它會顯示它下面的物品,並用替換(+)( - )隱藏項目。
的HTML大致如下所示:
<table>
<tr><td>(+)</td><td>02/04/2014</td></tr>
<tr id="id_1" class="hidden"><td colspan="2">Item 1</td></tr>
<tr><td>(+)</td><td>02/05/2014</td></tr>
<tr id="id_2" class="hidden"><td colspan="2">Item 2</td></tr>
<tr id="id_3" class="hidden"><td colspan="2">Item 2</td></tr>
<tr><td>(+)</td><td>02/06/2014</td></tr>
<tr id="id_4" class="hidden"><td colspan="2">Item 4</td></tr>
<tr id="comment_id_4" class="hidden"><td colspan="2">Comment for item 4</td></tr>
<tr id="id_5" class="hidden"><td colspan="2">Item 5</td></tr>
</table>
我已經能夠認爲這樣做是通過記錄再次循環動態生成一個JavaScript函數,並添加此a href
到的唯一途徑加號:
<a href="#" onclick="toggle(242014);return false">(+)</a>
而這裏的生成的JavaScript樣本:
function toggle(id) {
switch (id) {
case 242014:
$("#id_1").toggle();
break;
case 252014:
$("#id_2").toggle();
$("#id_3").toggle();
break;
case 262014;
$("#id_4").toggle();
$("#comment_id_4").toggle();
$("#id_5").toggle();
break;
}
它有效,但它很醜。有沒有更好的方法來做到這一點?
謝謝。
檢查你的HTML標記,它是無效的,而且它開上了合併單元格線之前,你不應該在這裏使用的ID –
沒有TD關閉? – Makrand
是的,我把它們快速地扔在一起,我的壞話,因爲他們說...固定。 – Tom