检查是否还有更多元素,如parent - jQuery

时间:2016-06-16 16:12:24

标签: jquery

我想创建一个条件来检查表中是否有任何行,或者该行是唯一剩下的行。

所以,我有:

<table>

    <tr>
        <td>AAAAAAA</td><td><a class="btn-row-delete">DELETE</a></td>
    </tr>

    <tr>
        <td>BBBBBBB</td><td><a class="btn-row-delete">DELETE</a></td>
    </tr>

    <tr>
        <td>CCCCCCC</td><td><a class="btn-row-delete">DELETE</a></td>
    </tr>

</table>

我希望能够删除行,直到只剩下一行。所以,让我们说我删除了所有内容,只有中间行BBBBBBB保持这样:

<table>


    <tr>
        <td>BBBBBBB</td><td><a class="btn-row-delete">DELETE</a></td>
    </tr>


</table>

如果它只剩下表中的一个tr,它就不允许我删除它。怎么做这样的条件?我没有检查的当前代码,仅用于删除,如下所示:

$('form').on('click', '.btn-row-delete', function(e) {
                e.preventDefault();
                $(this).closest('tr').remove();
                return false;
            });

如果表格中只剩下一个tr,如何停止删除?也许禁用按钮所以它不是很复杂。

2 个答案:

答案 0 :(得分:0)

您可以检查包含<tr>元素的数组的长度。

if($('table tr').length>1)
   $(this).closest('tr').remove();

答案 1 :(得分:0)

在这里你可以尝试这个

&#13;
&#13;
$('.btn-row-delete').click(function(){
  if($('tr').length > 1)
    $(this).closest("tr").remove();
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>

    <tr>
        <td>AAAAAAA</td><td><a class="btn-row-delete">DELETE</a></td>
    </tr>

    <tr>
        <td>BBBBBBB</td><td><a class="btn-row-delete">DELETE</a></td>
    </tr>

    <tr>
        <td>CCCCCCC</td><td><a class="btn-row-delete">DELETE</a></td>
    </tr>

</table>
&#13;
&#13;
&#13;