0

可能重复:
如果找到行跨度,则删除下一行单元格

删除 tr 的第三个单元格之前的表格

<table id="mytable" runat="server" bgcolor="gray">
    <tbody>
        <tr class="csstablelisttd">
            <td></td>
            <td class="csstdgreen">30</td>
            <td class="csstdgreen" rowspan="3">
                <span>john</span>
            </td>
        </tr>
        <tr class="csstablelisttd">
            <td></td>
            <td class="csstdgreen">45</td>
            <td>Remove me</td>
        </tr>
        <tr class="csstablelisttd">
            <td>09:00</td>
            <td class="csstdgreen">00</td>
            <td>Remove me</td>
        </tr>
    </tbody>
</table>

如果 td 具有 csstdgreen 并且具有属性行跨度,我必须在每个 tr 中遍历表。我必须删除单元格有文本删除我。

function clearTable() {
    $('#mytable tbody tr td.csstdgreen').each(function () {
        if ($(this).attr('rowspan')) {
            $(this).parent().find('td:last').remove();
        }
    });
}

**我必须像这样制作桌子**

<table id="mytable" runat="server" bgcolor="gray">
    <tbody>
        <tr class="csstablelisttd">
            <td></td>
            <td class="csstdgreen">30</td>
            <td class="csstdgreen" rowspan="3">
                <span>john</span>
            </td>
        </tr>
        <tr class="csstablelisttd">
            <td></td>
            <td class="csstdgreen">45</td>
        </tr>
        <tr class="csstablelisttd">
            <td>09:00</td>
            <td class="csstdgreen">00</td>
        </tr>
    </tbody>
</table>
4

2 回答 2

1

尝试这个,

现场演示

这将搜索具有 id 的表以mytable获取和。如果找到,它将删除所有兄弟姐妹(tr)中的。tdclass csstdgreenrowspan 3last td

$('#button1').click(function() {
    $('#mytable td.csstdgreen[rowspan=3]').each(function() {

        $(this).parent().siblings().each(function() {
            $(this).find('td').last().remove();
        });
    });
});

​ ​</p>

于 2012-07-07T09:37:48.897 回答
0

如果您还必须考虑行跨度的值,请尝试以下操作:

$('table tr td.csstdgreen').each(function() {
  // parse attribute
  var rowspan = isNaN($(this).attr('rowspan')) ? 1 : parseInt($(this).attr('rowspan'));
  if (rowspan > 1) {
    var rows = $(this).parent().nextAll().slice(0, rowspan - 1); // limit elements
    $(rows).find('td:last-child').remove(); // remove last td of each row
  }
});​
于 2012-07-07T10:08:25.533 回答