如果条件为 true,则向父元素添加类

add class to parent element if conditions are true

本文关键字:元素 添加 条件 true 如果      更新时间:2023-09-26

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

任何帮助都会非常有义务,提前感谢!

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

小提琴

使用浏览器的开发人员工具! 或者得到萤火虫。

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

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

如果这给了你

[ ]

然后它找不到任何元素。 然后你可以尝试分解它,例如,看看这是否有效:

$('#the_table>table>td')

继续取出并添加该表达式的片段,直到它根据需要产生truefalse

你可以这样做,

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

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

首先,

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