按ID加入列内容

时间:2013-12-07 10:32:20

标签: javascript jquery html-table

我正在尝试找到一种获取和组合共享相同属性值“headers”的列内容的方法。

我正在使用jquery并尝试使用“$ .map”(我之前从未使用过) - 但我无法弄清楚如何获得我想要的最终结果。

我有一个类似于这个的表(我无法更改HTML,因为它是由CMS生成的):

<table>
<thead>
 <th id="randomheadid1">column head 1</th>
 <th id="randomheadid2">columnhead 2</th>
</thead>

<tbody>
 <tr>
   <td headers="randomheadid1">content 1</td>
   <td headers="randomheadid2">content 3</td>
 </tr>

 <tr>
   <td headers="randomheadid1">content 2</td>
   <td headers="randomheadid2">content 4</td>
 </tr>
</tbody>
</table>

...我希望结果如下:

 <tr>
   <td headers="randomheadid1">content 1 content2</td>
   <td headers="randomheadid2">content 3 content4</td>
 </tr>

1 个答案:

答案 0 :(得分:1)

尝试

var $trs = $('table tbody tr');

$trs.first().find('td').each(function () {
    var $this = $(this),
        header = $this.attr('headers');
    $this.append($trs.slice(1).find('td[headers="' + header + '"]').contents())
});
$trs.slice(1).remove();

演示:Fiddle