2011-10-14 40 views
2

我有這樣的代碼:將表中的行與jQuery

<table> 
<tr id="a"><td>A</td></tr> 
<tr id="d"><td>D</td></tr> 
<tr id="e"><td>E</td></tr> 
<tr id="b"><td>B</td></tr> 
<tr id="c"><td>C</td></tr> 
</table> 

如何使用jQuery我可以把各行,以便?


更新:我需要使用移動功能不排序函數,因爲真正的ID是不信。對困惑感到抱歉。我想這樣做:

$("#a").after(rows_b_and_c) 

但我不知道如何獲得行。

+0

http://datatables.net/ –

+0

這裏問:http://stackoverflow.com/questions/3160277/jquery-table-sort – mqsoh

+1

不錯的插件,但這裏的問題太多了。我希望這可以通過幾行代碼來解決。 – Memochipan

回答

2

如果你沒有連接到<td> S和內容事件只是文本,這將做到:

var tds = $('table tr').sort(function(a,b){ 
    return $('td:eq(0)',a).text() > $('td:eq(0)',b).text(); 
}); 
$('table').html(tds); 

jsfiddle demo


這取決於...你會如何排序呢?請更具體。

意願給你一個提示,你可能想看看:

.after() 插入內容,由參數指定,在匹配的元素集合中的每個元素之後。

.before() 在匹配元素集中的每個元素之前插入由參數指定的內容。

.insertAfter() 在目標後面的匹配元素集合中插入每個元素。

.insertBefore() 在目標之前插入匹配元素集合中的每個元素。


你很有趣。 :p

你說你知道這些功能,那麼你沒有得到解決問題。

無論如何,這裏有一些方法來做到這一點:http://jsfiddle.net/reigel/7Pb6a/1/

+0

智能解決方案@Reigel,但我只用字母作爲示例,真正的id是隨機文本,目標是移動行,否則將其排序。 – Memochipan

+0

當你點擊它們時移動行嗎?對不起,如果我誤解了你的問題。 – Reigel

+0

我收到一條內聯php代碼的輸出,它以不正確的順序顯示行,我想用jQuery對它們重新排序。 – Memochipan

1

清潔:

var sortID = function(a,b){ 
    return a.id > b.id ? 1 : -1; 
}; 
$('table tr').sort(sortID).appendTo('table'); 
+0

如果你是基於它的身份證,我敢打賭,這不會做太多。 ;) – Reigel

+0

嗯... ...與最新的編輯問題,我不知道是什麼被問;) –