Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 确定每个表行中具有特定类的td数量_Javascript_Html - Fatal编程技术网

Javascript 确定每个表行中具有特定类的td数量

Javascript 确定每个表行中具有特定类的td数量,javascript,html,Javascript,Html,我使用这段代码隐藏表中具有td的所有行,该td具有名为“hide”的类。这很好用 $('.table').find('tr:has(td.hide)').hide(); 现在我试图隐藏表中的所有行,如果该行有n个td,并且类等于hide。我甚至无法使用thos代码在表的tr列表上循环 $('.table > tr').each(function() { console.log("new tr", $(this).text()); }); 我的html如下所示 <tabl

我使用这段代码隐藏表中具有td的所有行,该td具有名为“hide”的类。这很好用

$('.table').find('tr:has(td.hide)').hide();
现在我试图隐藏表中的所有行,如果该行有n个td,并且类等于hide。我甚至无法使用thos代码在表的tr列表上循环

$('.table  > tr').each(function() {
console.log("new tr", $(this).text());
});
我的html如下所示

    <table class='table'>
    <tr class='hidable'><td class='hide'> Some text</td> <td class='hide'> Some text</td></tr>

    <tr class='hidable'><td class='hide'> Some text</td> <td class='nothide'> Some text</td></tr>
</table>

一些文本一些文本
一些文本一些文本

在本例中,如果两个tds具有hide类,我希望隐藏该行。

当您创建一个没有tbody的表时,该标记将自动生成

:

第二个选择器匹配的元素必须是第一个选择器匹配的元素的直接子元素

t车身
作为选择器的一部分。请尝试
$('.table tbody>tr')

$('.table tbody>tr')。每个(函数(){
log(“newtr”,$(this.text());
});

一些文本
一些文本
一些文本
一些文本

对于jQuery,我建议使用
toggleClass()

//这里我们选择元素,并链接toggleClass()方法
//到该jQuery集合:
$('tr').toggleClass(函数(){
//在匿名函数中,“this”指的是当前
//集合的元素(本机DOM节点不是jQuery$(this))
//我们使用Element.querySelectorAll()检索所有元素
//使用“hide”类,然后测试长度以查看是否存在
//如果这是真的,我们将返回'hideRow'类
//否则我们将返回一个空字符串
//该方法使用CSS选择器(“hideRow”)隐藏相关的
//要素:
返回此.querySelectorAll('.hide')。长度>1?'hideRow':'';
});
.hide{
背景色:柠檬黄;
不透明度:0.5;
}
希德罗先生{
/*在这里,我们使用不透明度:0.5,以便您可以在视觉上
查看生产中选择/影响的元素
显然,您应该切换到“显示:无”以隐藏
要素:*/
不透明度:0.5;
}

第1单元
第2单元
第三单元
第4单元
第1单元
第2单元
第三单元
第4单元
第1单元
第2单元
第三单元
第4单元
第1单元
第2单元
第三单元
第4单元
第1单元
第2单元
第三单元
第4单元
第1单元
第2单元
第三单元
第4单元
第1单元
第2单元
第三单元
第4单元
第1单元
第2单元
第三单元
第4单元
第1单元
第2单元
第三单元
第4单元
第1单元
第2单元
第三单元
第4单元
  • 若两个td都有hide类,那个么您想隐藏行,若这是您的需求,那个么这里就是一个测试示例

     $(".table tr").each(function(){ 
          if($(this).find("td.hide").length == 2) { 
             $(this).hide(); 
          } 
      });
    

在这里,我循环遍历每个tr,然后在每个tr中,我用find(“td.hide”)检查类“hide”的所有td。length==2,如果length等于2,则隐藏该行。

您是上帝。。。真不敢相信,就这么简单!谢谢,我很高兴能帮上忙;但是,只有当你已经知道如何去做(或者如果你知道如何把它组合起来)时,这才是容易的:)