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

时间:2012-07-07 09:31:16

标签: javascript jquery html

  

可能重复:
  Remove next row cell if rowspan is found

表删除tr

的第3个单元格之前
<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>

2 个答案:

答案 0 :(得分:1)

试试这个,

<强> Live Demo

这将搜索包含mytable td class csstdgreenrowspan 3的ID last td的表格。如果找到它将删除所有兄弟姐妹中的$('#button1').click(function() { $('#mytable td.csstdgreen[rowspan=3]').each(function() { $(this).parent().siblings().each(function() { $(this).find('td').last().remove(); }); }); }); (tr)。

{{1}}

答案 1 :(得分:0)

如果你还要考虑rowspan的值,试试这个:

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