Re: [問題] JQuery合併td
※ 引述《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
09/22 23:20, 2F
→
09/22 23:21, , 3F
09/22 23:21, 3F
推
09/22 23:39, , 4F
09/22 23:39, 4F
推
10/02 06:12, , 5F
10/02 06:12, 5F
討論串 (同標題文章)
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章