【问题标题】:dynamically add css class to row将css类动态添加到行
【发布时间】:2012-10-02 16:49:17
【问题描述】:

我正在使用 SlickGrid 并希望动态将 css 类添加到一行或一行中的单元格。

这种方法将highlight 类添加到第0 行的Name 列中:

grid.setCellCssStyles("highlight", {
   0 : {
       Name: "highlight",
       }
 });

而我想实现将 css 类设置为在另一个变量中定义的行。我尝试了如下所示,但它不起作用:

row = 0;
grid.setCellCssStyles("highlight", {
    row : {
        Name: "highlight",
        }
});

【问题讨论】:

  • 是的。但我认为我无法使用 jquery 选择行,因为它们没有设置唯一 ID。
  • 你知道列号和行号吧?

标签: javascript slickgrid


【解决方案1】:

试试:

var row=0;
var obj={};
obj[row]={Name:"highlight"};
grid.setCellCssStyles("highlight",obj);

解释:当 JS 读取 "row: ..." 作为键值对时,它会在对象上创建一个名为 row 的属性并分配给它,而不是评估变量 row 并将其值用作键。这是由于 JSON 语法,我不知道有什么方法可以规避这个问题。但是,javascript 对象也可以作为关联数组访问,这意味着您可以使用我在上面所做的技巧:将 obj 的(行评估)属性设置为您需要的任何值。

【讨论】:

  • 这与文字符号有何不同?
  • 谢谢阿萨德!你能解释一下为什么这行得通而我的第一种方法没有!?
  • jsfiddle.net/JGdhX/1 在 JSON 中,键不受引号或任何东西的限制。当 js 读取 "row: ..." 作为键值对时,它会在对象上创建一个名为 row 的属性并分配给它,而不是评估变量 row 并将其值用作键。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-27
  • 1970-01-01
  • 2012-10-22
  • 1970-01-01
  • 1970-01-01
  • 2016-12-20
相关资源
最近更新 更多