【问题标题】:Add the class for specific row of existing table为现有表的特定行添加类
【发布时间】:2019-05-26 09:54:12
【问题描述】:

我想将类添加到现有表格行中以在单击行时更改行颜色。

目前我的代码如下所示。

为网格订阅onClick

 grid.onClick.subscribe(function(e, args) {
    var row = self.grid.getDataItem(args.row);
    // How can I add the class to the specific row??? 
 }

【问题讨论】:

  • 您有哪些可行的想法?

标签: javascript slickgrid


【解决方案1】:

如果你可以获取元素,你可以使用 classList 属性:

https://developer.mozilla.org/en-US/docs/Web/API/Element/classList

element.classList.add("anotherclass");

【讨论】:

    【解决方案2】:

    我建议您首先获取单击行中的单元格。例如,您可以通过首先获取目标元素(单击的单元格),然后获取其父元素(行),然后从父元素(行中的所有单元格)获取子元素来执行此操作。然后迭代它们并改变它们的样式。使用单元格而不是行本身很重要,因为单元格的 z-index 比行高。

    var children = $($(e.target)[0].parentElement).children();
    for (var key in children) {
        if(children.hasOwnProperty(key))
            children[key].style["background-color"] = "red";
    }
    

    你当然也可以添加我使用$(children[key]).addClass("yourClass")操纵样式的类

    【讨论】: