2012-04-27 57 views
3

如果条件为真,但似乎无法使其工作,则尝试将类应用于子元素的父元素。简而言之,我想检查一个数字为“0”的单元格的表格并隐藏其父行。如果条件为真,则将类添加到父元素

我创造了什么我已经做了基本的jsfiddle:http://jsfiddle.net/immbudden/YbZPE/3/

而且我已经把jQuery的的片段:

if ($('#the_table>table>td:contains("0")').length === 1) { 
    $(this).parent("tr").addClass("hidden"); 
} 

我仍然在学习jQuery和JavaScript和这可能是小东西,但我似乎无法把它放在手指上!

任何帮助将非常有义务,提前致谢!

+0

你究竟想要做什么? – 2012-04-27 03:13:41

+0

找到任何确切数量正好为零(0)的单元格并隐藏它们的父行 – Michael 2012-04-27 03:16:11

回答

4
$('td', '#the_table > table').each(function() { 
    if ($(this).text() === '0') { 
     $(this).parents("tr").addClass("hidden"); 
    } 
}); 

FIDDLE

+0

感谢兄弟们,我认为你最适合我想要做的事情,我只是不确定如何写入'$(this)',非常感谢! – Michael 2012-04-27 03:29:36

+0

不客气! – adeneo 2012-04-27 03:36:00

1

使用浏览器的开发人员工具!或Get Firebug

装入了该网页,请尝试以下的javscript控制台:

$('#the_table>table>td:contains("0")') 

如果给你

[ ] 

那么它没有找到任何元素。然后,你可以试着将它分解,例如,看看,如果这个工程:

$('#the_table>table>td') 

并保持取出,并补充说,表达的位,直到它产生truefalse根据您的需要。

+0

感谢您的建议伙计,我在开发工具中尝试了一些东西,并且因此而感到沮丧。 – Michael 2012-04-27 03:34:19

1

,你可以像这样做,

$('#the_table table td').filter(function (index) { 
    return $(this).text() == '0'; 
}).parent("tr").addClass("hidden"); 

http://jsfiddle.net/YbZPE/5/

+0

感谢输入的老兄,@ adeneo的解决方案对我来说是最适合的,它通过循环遍历每一个。不管怎么说,还是要谢谢你! – Michael 2012-04-27 03:32:53

+0

Upvoted这个,因为它是正确的和工作! – adeneo 2012-04-27 03:36:20

1

首先,你必须得到德小区,如果你想第一次使用情商(0):

$cell = jQuery('#the_table tr td:eq(0)'); 

那么你必须把类的父行:

$cell.parent("tr").addClass("hidden"); 

下面的代码将做到这一点。

jQuery('#the_table tr td:eq(0)').parent("tr").addClass("hidden"); 
+0

谢谢你的答案,@ adeneo为我提供了最好的解决方案,谢谢! – Michael 2012-04-27 03:31:06

相关问题