正在从表中删除行

Removing rows from table

本文关键字:删除行      更新时间:2023-09-26

假设我们有表:

<table>
    <tr>first</tr>
    <tr class="ClassName">second</tr>
    <tr class="ClassName">third</tr>
</table

我们想删除带有class='ClassName' 的行

我写了一个代码:

var Ids = $('.ClassName').map(function () {
   return this
}).get();
if (Ids.length > 0) {
    for (var i; i = 0; i++) {
         Ids[i].hide();
    }
}

我需要知道这个类是否有任何行。如果是,我需要移除它们。若并没有,我调用ajax,从数据库中读取并向表中添加行。它是显示/隐藏机制的一部分

但我的代码什么都不做。行仍然显示在页面中。我应该更改什么?

jQuery

// check if are any rows with this class
var $rows = $('table tr.ClassName');
if( $rows.length > 0 ) {
  // remove them or hide with .hide();
  $rows.remove();
} else {
  // call ajax ...
}

为什么不只是:

$('table tr.ClassName').hide();

如果您想要删除永久,那么您可以使用这个。

$('.ClassName').each(function(){
      $(this).remove();
});

给你-

$("table tr[class='ClassName']").remove();

如果这能解决您的问题,请将其标记为"已回答"。

尝试在jquery中使用hasClass()JQuery:

//检查是否有任何行具有类

if($('table-tr').hasClass("ClassName")){//从表中删除}

其他{//在这里进行ajax调用。}

您可以删除该类的所有内容,然后检查是否有:

$(function () {
    var $trs = $('table tr.ClassName');
    $trs.remove();
    if ($trs.length === 0) {
      // Ajax-call
    } 
});

它应该可以工作

$("table").find(".ClassName").remove();    

如果你想删除除第一行以外的所有表行,意味着你可以尝试这个

$("table").find("tr:gt(0)").remove();