0

重複の可能性:
rowspan が見つかった場合は、次の行のセルを削除します

表 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>
4

2 に答える 2

1

これを試して、

ライブデモ

これは、idmytabletd持つテーブルでclass csstdgreenとを検索しますrowspan 3last td見つかった場合は、すべての兄弟(tr)から削除されます。

$('#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 に答える