html - CSS 属性定义覆盖 Knockout js css 绑定(bind)

标签 html css knockout.js

我注意到如果你定义一个 <style>在您的标记中添加标记,如下所示:

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

然后您尝试使用 knockout 应用 css 绑定(bind)(这会在您单击一行时设置背景色):

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

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

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

http://jsfiddle.net/q3Uuz/1/尝试单击第二行,您会注意到 red类不适用。

如何实现这一点?

最佳答案

在这种情况下不需要使用 !important;

比您的 tr:nth-child(even) 更具体的选择器也解决了您的问题

所以你可以这样写:

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

tr.red { background-color: red; }

演示 JSFiddle.

您可以阅读更多有关 selector's specificity calculated 的信息

关于html - CSS 属性定义覆盖 Knockout js css 绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17544123/

相关文章:

javascript - Accordion 上下箭头

javascript - 只打印一个 iFrame

html - 流体图像在新行上创建不需要的空间。图片高度不占用容器高度

css - 我在这里错过了什么吗?第一个 child 不能用在按钮上吗?

javascript - 如果在初始渲染之后才评估绑定(bind),则 knockout

javascript - "no spaces"的正则表达式验证

jquery - 汉堡关闭后在较大的设备上显示菜单

html - 展望负表 margin

javascript - JS 不适用于 FireFox,但适用于 Chrome 和 I.E

javascript - 如何在 javascript 中实现继承?