【问题标题】:Jquery apply bg for just for one <td> not the whole columnJquery 只为一个 <td> 而不是整个列应用 bg
【发布时间】:2017-03-08 10:04:17
【问题描述】:

我有 table.on 函数,现在如果我将表 2 中的一个单元格放到表 1 中,整个列就会变成绿色

js 小提琴: http://jsfiddle.net/L3Lhw7jk/5/

tr td:nth-child(2) 整列变绿,我只想将td 放在我不删除整个tr td:nth-child(2) 的地方

css:

  tr.highlight td {
    background-color: #D0ECE7 !important;
  }

  td.member-highlight {
    background-color: #73C6B6 !important;
  }

如果:

 if (r[0].length > 0) {
        $row.parents('table').find('tr').removeClass('highlight');
        $row.addClass('highlight');

        var members = $('#example tr td:nth-child(2)');
        members.filter(':not(:has(input))').addClass('member-highlight');
        members.find('input').addClass('border-highlight');
    }

var members = $('#example tr td:nth-child(2)');

在整个列中应用整个绿色

table.on('mousedown', 'tbody tr', function() {
    var $row = $(this);

    var r = table.rows(function(i, data) {
        return data.member == $row.children().first().text();
    });

    if (r[0].length > 0) {
        $row.parents('table').find('tr').removeClass('highlight');
        $row.addClass('highlight');

        var members = $('#example tr td:nth-child(2)');
        members.filter(':not(:has(input))').addClass('member-highlight');
        members.find('input').addClass('border-highlight');
    }

    rowCache.push({
        row: r
    });
});

【问题讨论】:

  • 谢谢皮特,那么我应该如何在我的代码中应用它呢?谢谢

标签: javascript jquery css


【解决方案1】:

你好,看看这个例子worked example

    function mouseUp(event) {
    var names = $('#example tr td:nth-child(2)');
    var ctrl = $(document.elementsFromPoint(event.clientX, event.clientY)).filter('#example tr td:nth-child(2),input.border-highlight');

    if (ctrl.length > 0 && rowCache.length > 0) {
        var el = rowCache[0];
        var data = el.row.data();

        if (data.length > 0) {
            if (ctrl.is('input'))
                ctrl.val(data[0].name);
            else
                ctrl.text(data[0].name);

            el.row.remove().draw();

            ctrl.addClass('name-highlight');

            //names.removeClass('name-highlight');
            names.find('input').removeClass('border-highlight');
        }
    }

    rowCache = [];
}

【讨论】:

  • 酷,非常好,谢谢,我也可以突出显示 td 吗?在我下降之前?像以前一样,但只取 1 td 而不是所有列?谢谢。
  • 你能帮我把这个效果应用到这个小提琴上吗?你需要先点击编辑才能删除,jsfiddle.net/f7debwj2/47谢谢
猜你喜欢
  • 1970-01-01
  • 2011-08-11
  • 2019-04-27
  • 1970-01-01
  • 1970-01-01
  • 2020-05-06
  • 1970-01-01
  • 1970-01-01
  • 2021-05-05
相关资源
最近更新 更多