2016-09-27 72 views
0

我正在使用KendoPenel显示一些数据,并希望展开特定的面板并在运行时更改其颜色有一些问题。在运行时更改KendoPanel的颜色

我能够选择面板,并使用下面的代码展开:

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的”)看来,因为当我将鼠标悬停在该项目元素生效调试器,它有“MyClass添加”类,但它听起来像不会正确更改背景颜色。我是否需要为特定更改生效做任何特殊的事情?

+0

尝试使用item.find(“li”)将其添加到相应的'li'。addClass('myClass')' – Vijai

+0

我试过了,但它似乎没有工作 – TeaLeave

+0

如果要更改颜色您需要将展开后的面板添加到里面的span中,因为这是前面的元素。 – calinaadi

回答

1

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

你需要让你的风格选择更具体,因此覆盖所有其他背景色规则,这个选择将取决于面板的内容。

在我的例子,我做了样式选择

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

如果你只是样式添加到li元素(你的“项目”),不覆盖的div的背景构成内容。通过增加样式规则的特殊性,它将覆盖其他样式。