あなたの質問で私が理解したのは、マージされたセルを同じ値で分割し、テーブルを単純に行ごとに繰り返したいということです。
結合されたセルを同じ値で分割する JSFiddle を作成しました。次に、指定した目的の出力を取得するために、行ごとに単純に反復できるテーブルが作成されます。
ここで実行されていることを確認してくださいhttp://jsfiddle.net/9PZQj/3/
完全なコードは次のとおりです。
<table id="tbl" border = "1">
<tr>
<td>A</td>
<td>B</td>
<td rowspan="2">C</td>
</tr>
<tr>
<td>D</td>
<td rowspan="2">E</td>
</tr>
<tr>
<td>F</td>
<td>G</td>
</tr>
</table>
<br>
<div id="test"> </div>
テーブルのデータを操作するために使用される jquery を次に示します。
var tempTable = $('#tbl').clone(true);
var tableBody = $(tempTable).children();
$(tableBody).children().each(function(index , item){
var currentRow = item;
$(currentRow).children().each(function(index1, item1){
if($(item1).attr("rowspan"))
{
// copy the cell
var item2 = $(item1).clone(true);
// Remove rowspan
$(item1).removeAttr("rowspan");
$(item2).removeAttr("rowspan");
// last item's index in next row
var indexOfLastElement = $(currentRow).next().last().index();
if(indexOfLastElement <= index1)
{
$(currentRow).next().append(item2)
}
else
{
// intermediate cell insertion at right position
$(item2).insertBefore($(currentRow).next().children().eq(index1))
}
}
});
console.log(currentRow)
});
$('#test').append(tempTable);