看板 Ajax 關於我們 聯絡資訊
※ 引述《fr730149 ()》之銘言: : 假設:我把Table改成 : <table> : <tr> : <td>Column_A</td><td>Column_B</td><td>Column_C</td><td>Column_D</td> : </tr> : <tr> : <td>X11</td><td>X21</td><td>X12</td><td>X13</td> : </tr> : <tr> : <td>X11</td><td>X32</td><td>X33</td><td>X11</td> : </tr> : <tr> : <td>X31</td><td>X32</td><td>X33</td><td>X34</td> : </tr> : </table> : X32, X33還是會重複出現 : 目前我還在研究問題點… 提供另一種解法 http://jsbin.com/oveger/edit#source // 從第一個row逆向走訪每一個cell $($('tr:first td').get().reverse()).each(function(index){ // $start為比對目標,指向每一組的首項cell var $start = $current = $(this); var $next; var need_remove = $([]); // 逆向所以index要算一下 index = $start.parent().children().length - index - 1; // 取得同一個column的下一個cell while(($next=$current.parent().next().children().eq(index)).length){ if($start.html() == $next.html()){ var rs = (parseInt($start.attr('rowspan'), 10) || 1) + 1; $start.attr('rowspan', rs); need_remove.push($next); } else{ $start = $next; } $current = $next; } // 每跑完一個column才移除不要的cell need_remove.each(function(){ this.remove(); }); }); 設rowspan和移除多餘的cell的部分 或許可以有更好的寫法 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.134.26.22
fr730149:恕小弟愚昧 走逆向的用意是… 09/22 23:14
No:順著走時,若之的column已有cell被移除,則接下來取eq會有問題 09/22 23:20
No: ^前 09/22 23:21
mesak:推 =w= 09/22 23:39
xxxx9659:推 || 居然可以這樣這樣用好厲害@@ 10/02 06:12