把含有rowspan、colspan的table还原 转
需求
把含有rowspan、colspan的table还原。
例如原table为:
还原后的table为:
代码原理
对table进行遍历,如果td的rowspan属性值大于1,则给当前的td的父元素的兄弟元素添加td,如果td的colspan属性值大于1,则在当前的td元素后添加td
复制代码代码如下:
jQuery.fn.RevertTable=function(){ $("tr",this).each(function(trindex,tritem){ $(tritem).find("td").each(function(tdindex,tditem){ var rowspanCount=$(tditem).attr("rowspan"); var colspanCount=$(tditem).attr("colspan"); var value=$(tditem).text(); var newtd="<td>"+value+"</td>"; if(rowspanCount>1){ var parent=$(tditem).parent("tr")[0]; while(rowspanCount-->1){ $(parent).next().prepend(newtd); parent=$(parent).next(); } $(tditem).attr("rowspan",1); } if(colspanCount>1){ while(colspanCount-->1){ $(tditem).after(newtd); } $(tditem).attr("colspan",1); } }); }); }