如果条件为真,则将类添加到父元素

时间:2012-04-27 03:08:52

标签: javascript jquery css parent addclass

我试图将一个类应用于子元素的父元素,如果条件为真但似乎无法使其工作。简而言之,我想检查表格中是否有一个数字为“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,这可能是一件小事,但我似乎无法将其放在手上!

任何帮助都有很大的帮助,在此先感谢!

4 个答案:

答案 0 :(得分:4)

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

FIDDLE

答案 1 :(得分:1)

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

加载该页面后,请在javscript控制台中尝试:

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

如果能给你

[ ]
然后它没有找到任何元素。然后你可以尝试将其分解,例如,看看是否有效:

$('#the_table>table>td')

继续取出并添加该表达式的位,直到它根据您的需要生成truefalse

答案 2 :(得分:1)

你可以这样做,

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

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

答案 3 :(得分:1)

如果你想第一次使用eq(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");