Re: [問題] JQuery合併td

看板Ajax作者 (you stay there)時間14年前 (2011/09/22 22:26), 編輯推噓3(302)
留言5則, 4人參與, 最新討論串5/10 (看更多)
※ 引述《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

09/22 23:14, , 1F
恕小弟愚昧 走逆向的用意是…
09/22 23:14, 1F

09/22 23:20, , 2F
順著走時,若之的column已有cell被移除,則接下來取eq會有問題
09/22 23:20, 2F

09/22 23:21, , 3F
^前
09/22 23:21, 3F

09/22 23:39, , 4F
推 =w=
09/22 23:39, 4F

10/02 06:12, , 5F
推 || 居然可以這樣這樣用好厲害@@
10/02 06:12, 5F
文章代碼(AID): #1EUqMDLs (Ajax)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 5 之 10 篇):
3
5
文章代碼(AID): #1EUqMDLs (Ajax)