从表中删除行

时间:2014-04-09 10:36:21

标签: javascript jquery

假设我们有表:

<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,请从db读取并向表中添加行。它是显示/隐藏机制的一部分

但是我的代码什么也没做。行仍然出现在页面中。我应该改变什么?

7 个答案:

答案 0 :(得分:2)

为什么不呢:

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

答案 1 :(得分:2)

<强>的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 ...
}

答案 2 :(得分:2)

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

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

答案 3 :(得分:1)

你去吧 -

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

请将此标记为&#34;已回答&#34;如果这可以解决你的问题。

答案 4 :(得分:1)

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

  

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

     

if($('table tr')。hasClass(“ClassName”)){//从表中删除}

     

否则{         //在这里做你的ajax电话       }

答案 5 :(得分:1)

您可以删除该课程的全部内容,然后检查是否有:

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

答案 6 :(得分:0)

应该有效

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

如果要删除除第一行以外的所有表格行,则表示您可以尝试此

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