CSS属性定义会覆盖Knockout js css绑定

时间:2013-07-09 09:03:02

标签: html css knockout.js

我注意到,如果您在标记中定义<style>标记,请执行以下操作:

 tr:nth-child(even) {background-color:#F4F4F4;}

然后你尝试使用knockout应用css绑定(当你点击一行时设置背景颜色):

<tr data-bind="click: $parent.selectRow, css: {red:  $parent.seletedRow() == $data}">

第二个未设置,因为我已经在<style>标记中定义了背景颜色。

我需要用颜色标记偶数行但是当你点击一行时,它的背景颜色必须被css类red替换。这是一个例子:

http://jsfiddle.net/q3Uuz/1/尝试点击第二行,您会注意到red课程未被应用。

如何实现这一目标?

2 个答案:

答案 0 :(得分:1)

在这种情况下,无需使用!important;

tr:nth-child(even)更具体的选择器也可以修复您的问题

所以你可以这样写:

tr:nth-child(even) { background-color:#F4F4F4; }

tr.red { background-color: red; }

演示JSFiddle.

您可以详细了解selector's specificity calculated

的内容

答案 1 :(得分:0)

您可以在红色类中添加!importantbackground-color样式:

.red {
    background-color: red !important;
}

这是工作小提琴:http://jsfiddle.net/q3Uuz/2/