如果找到第3行,则删除next和next tr的第3个单元格

If rowspan 3 is found remove 3rd cell of next and next tr

本文关键字:next tr 的第 单元格 3个 删除 3行 如果      更新时间:2023-09-26

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

删除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和属性rowspan,我必须在每个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>

试试这个,

实时演示

这将在id为mytable的表中搜索具有class csstdgreenrowspan 3td。如果找到,它将删除所有同级(tr)中的last td

$('#button1').click(function() {
    $('#mytable td.csstdgreen[rowspan=3]').each(function() {
        $(this).parent().siblings().each(function() {
            $(this).find('td').last().remove();
        });
    });
});

​​

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

$('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
  }
});​