jQuery CSS 选择器不适用于 sap.m.table 单元格,但 addStyleClass 可以,我做错了什么?



我有一个表格,我想将第 0 行第 0 列中的单元格颜色设置为红色。但是,我能够做到这一点的唯一编程方法是通过 addStyleClass,这是我不想要的。

以下是我尝试过的一些方法:

 oTable.getItems()[0].getCells()[0].$().css("background-color", "red");

&

 $(oTable.getItems()[0].getCells()[0]).css("background-color", "red")

&

$("#" + oTable.getItems()[0].getCells()[0].css("background-color", "red"))

但是,这些都不起作用。不过,他们不会在控制台中给我任何错误。

唯一对我有用的是:

oTable.getItems()[0].getCells()[0].addStyleClass("redBackground") 
并将红色背景

中的背景颜色设置为红色。我不想这样做,因为我将通过我的应用程序将获得的数据动态设置颜色。

更新了JSfiddle:https://jsbin.com/sejavuqopa/2/edit?html,css,js,output。

我真的很喜欢@alexP答案背后的想法,但我既不喜欢jQuery(已弃用并最终将从UI5中删除(,也不是将消息放入浏览器队列中,setTimeout和延迟为零。

所以这是我的方法:

oTable.placeAt("content");
// put new code directly behind placeAt
oTable.addEventDelegate({
   onAfterRendering: function () {
       oTable.getItems()[0].getCells()[0].getDomRef().parentNode.style.backgroundColor = "red";
   }
}, this);

使用超时。此外,您还必须使用.parent()为整个单元格着色,而不是该单元格中的数字。试试这个:

setTimeout(function(){
  oTable.getItems()[0].getCells()[0].$().parent().css("background-color", "red");
});

JSBin

相关内容

最新更新