JQuery 每行第一列的 table 选择器

JQuery selector for table every row first column

我想 select 每行的第一个 column.But 第一列可能有 'rowspan' 属性.

就是这样。

html:

<tr>
    <td rowspan="2">first1<td>
    <td>first2<td>
    <td>first3<td>
<tr>
<tr>
    <td>second2<td>
    <td>second3<td>
<tr>
<tr>
    <td>third1<td>
    <td>third2<td>
    <td>third3<td>
<tr>

我选择了第一列,但我得到了那些结果。

$("tr td:first-child");

"<td rowspan="2">first1<td>,<td>second2<td>,<td>third1<td>"

预期结果是

"<td rowspan="2">first1<td>,<td>third1<td>"

我想将这些列设置为 table 左右滚动的固定列。

谢谢。

虽然有许多插件可用于执行您想要的操作,但这样的事情可能会让您入门

var $rows = $('tr'), skipCount = 0;

var $cloneTable = $('<table>');
$rows.each(function () {
    var $row = $(this), $firstCell;
    var $newRow = $('<tr>');
    if (!skipCount) {
        $firstCell = $row.find('td').first();
        $newCell =$firstCell.clone().height($firstCell.height());        
        $newRow.append($newCell);
        var rowSpan = +$firstCell.attr('rowspan');
        if (rowSpan) {
            skipCount = rowSpan-1;
        }
    } else {
        skipCount--;
    }
    $cloneTable.append($newRow);

});

DEMO