在运行时更改 KendoPanel 的颜色

Change Color of KendoPanel at runtime

我正在使用 KendoPenel 来显示一些数据,并希望在数据运行时扩展特定面板并更改其颜色。

我可以 select 面板并使用以下代码展开它:

 function ExpandItemInPanelBar() {
        var panelBar = $("#KendoPanel3").data("kendoPanelBar");
        // I have set 0 in 'eq(0)' so it will expand first item you can change it as per your code
        panelBar.select(panelBar.element.children("li").eq(2));

        var item = panelBar.select();          
        panelBar.expand(item);
        item.addClass('myClass')   

    }

   .myClass
{
    background-color: red;
}

然而,尽管 item.addClass('myClass') 似乎生效了,因为当我在调试器中将鼠标悬停在项目元素上时,它有 class "MyClass added" 但听起来它没有正确改变背景颜色。我是否需要执行任何特殊操作才能使该特定更改生效?

http://dojo.telerik.com/@Stephen/IXEfe

您需要使样式上的选择器更具体,以便它覆盖所有其他背景颜色规则,并且此选择器将取决于窗格的内容。

在我的示例中,我制作了样式选择器

ul.k-panelbar > li.myClass > div
{
  background-color: red; 
}

如果您只将样式添加到 li 元素(您的 "item"),则不会覆盖构成内容的 div 的背景。通过增加样式规则的特异性,它将覆盖其他样式。