Javascript 从表中删除行
假设我们有表:Javascript 从表中删除行,javascript,jquery,Javascript,Jquery,假设我们有表: <table> <tr>first</tr> <tr class="ClassName">second</tr> <tr class="ClassName">third</tr> </table 我需要知道这个类是否有行。如果是,我需要移除它们。若并没有,我调用ajax,从db读取数据,并将行添加到表中。它是显示/隐藏机制的一部分 但是我的代码什么都不做。行仍然显示
<table>
<tr>first</tr>
<tr class="ClassName">second</tr>
<tr class="ClassName">third</tr>
</table
我需要知道这个类是否有行。如果是,我需要移除它们。若并没有,我调用ajax,从db读取数据,并将行添加到表中。它是显示/隐藏机制的一部分 但是我的代码什么都不做。行仍然显示在页面中。我应该改变什么?为什么不:
$('table tr.ClassName').hide();
jQuery
如果你想删除永久,那么你可以使用这个
$('.ClassName').each(function(){
$(this).remove();
});
给你-
$("table tr[class='ClassName']").remove();
如果这解决了您的问题,请将其标记为已回答。尝试在jquery中使用hasClass。
JQuery:
//检查是否有任何行具有类
如果$'table tr'.hasClassClassName{//从表中删除}
否则{
//在这里进行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();
我需要知道这个类是否有行。如果是,我需要移除它们。若并没有,我调用ajax,从db读取数据,并将行添加到表中。其显示/隐藏机制的一部分也可以是$'table tr.ClassName'。remove;如果要从DOMI更新问题中删除一行。不幸的是,它们无法隐藏为什么不使用类选择器.ClassName而不是更麻烦的属性选择器?因为CSS类名也可以用于其他HTML元素,建议在使用类选择器之前针对元素类型。但是,如果开发人员确定所提到的类只用于表,那么他们可以直接使用类选择器。是的,我同意这一点。我的意思是$table tr.ClassName是一个更直接的选择器,也是这个问题的大多数其他答案所使用的。不需要遍历它们并逐个删除它们。这是迄今为止最好的答案,事实上是唯一一个满足OP要求的答案。
$("table").find(".ClassName").remove();
$("table").find("tr:gt(0)").remove();