javascript - Jquery apply bg for just for one <td> not the whole column

标签 javascript jquery css

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

js fiddle : http://jsfiddle.net/L3Lhw7jk/5/

tr td:nth-child(2) 整列变绿,我只想在 td 中放置而不是整个 tr td:第 n 个 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
    });
});

最佳答案

你好,看看这个例子 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 = [];
}

关于javascript - Jquery apply bg for just for one <td> not the whole column,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42668263/

相关文章:

javascript - 代码上传到服务器 [HTML、CSS、JS] 时效果不佳 [错误 : Server stopped responding]

html - jade - 创建多个 html 元素

asp.net - 打印后未应用 css

Javascript 正则表达式代码到 PHP 正则表达式?

javascript - 外部 js 文件彼此不认识

javascript - 检测推送通知是否正在等待phonegap

javascript - ng-model 进入文本区域不会更新

html - 更改悬停时按钮的颜色

javascript - 为什么这个 for 循环不能正确读取传递的参数中的 this ?

javascript - Zynga Scroller - 为可滚动区域设置起始偏移量