Javascript 在元素上切换类';s的父母';他以前的兄弟姐妹

Javascript 在元素上切换类';s的父母';他以前的兄弟姐妹,javascript,jquery,css,Javascript,Jquery,Css,单击某些元素时,我想切换该元素父元素的前一个同级(不是全部,只有一个)上的类,其中该同级还没有特定的类(“项”) HTML: 我认为这可能会做到: $('table').on('click', 'td', function () { var $tr = $(this).closest('tr'); var $last = $tr.siblings() .filter(':not(.item)') .filter(':lt('+ $tr.index(

单击某些元素时,我想切换该元素父元素的前一个同级(不是全部,只有一个)上的类,其中该同级还没有特定的类(“项”)

HTML:


我认为这可能会做到:

$('table').on('click', 'td', function () {
    var $tr = $(this).closest('tr');
    var $last = $tr.siblings()
        .filter(':not(.item)')
        .filter(':lt('+ $tr.index() + ')')
        .last();
    if ($last.length) {
        $last.toggleClass('blueChecked');
    }
});

我认为这可能会做到:

$('table').on('click', 'td', function () {
    var $tr = $(this).closest('tr');
    var $last = $tr.siblings()
        .filter(':not(.item)')
        .filter(':lt('+ $tr.index() + ')')
        .last();
    if ($last.length) {
        $last.toggleClass('blueChecked');
    }
});

我认为这可能会做到:

$('table').on('click', 'td', function () {
    var $tr = $(this).closest('tr');
    var $last = $tr.siblings()
        .filter(':not(.item)')
        .filter(':lt('+ $tr.index() + ')')
        .last();
    if ($last.length) {
        $last.toggleClass('blueChecked');
    }
});

我认为这可能会做到:

$('table').on('click', 'td', function () {
    var $tr = $(this).closest('tr');
    var $last = $tr.siblings()
        .filter(':not(.item)')
        .filter(':lt('+ $tr.index() + ')')
        .last();
    if ($last.length) {
        $last.toggleClass('blueChecked');
    }
});
使用并仅保留第一个

$(this).parent().prevAll(':not(.item)').first().toggleClass('blueChecked');
使用的
prev
仅检查前一个元素。如果选择器与保留的元素匹配,则针对该元素测试选择器

演示在

使用并仅保留第一个

$(this).parent().prevAll(':not(.item)').first().toggleClass('blueChecked');
使用的
prev
仅检查前一个元素。如果选择器与保留的元素匹配,则针对该元素测试选择器

演示在

使用并仅保留第一个

$(this).parent().prevAll(':not(.item)').first().toggleClass('blueChecked');
使用的
prev
仅检查前一个元素。如果选择器与保留的元素匹配,则针对该元素测试选择器

演示在

使用并仅保留第一个

$(this).parent().prevAll(':not(.item)').first().toggleClass('blueChecked');
使用的
prev
仅检查前一个元素。如果选择器与保留的元素匹配,则针对该元素测试选择器


演示在

为什么不将项目嵌套在产品中?这将使它变得更容易。嵌套的表会导致性能下降。为什么不在产品中嵌套这些项呢?这将使它变得更容易。嵌套的表会导致性能下降。为什么不在产品中嵌套这些项呢?这将使它变得更容易。嵌套的表会导致性能下降。为什么不在产品中嵌套这些项呢?这将使它变得更容易。嵌套表会导致性能下降。谢谢,这非常适合我的现有代码。谢谢,这非常适合我的现有代码。谢谢,这非常适合我的现有代码。谢谢,这非常适合我的现有代码。谢谢,这非常适合我的现有代码。