javascript - 使用 javascript/knockout 设置父级父级 css

标签 javascript jquery knockout.js

我在表格中有一些复选框,我希望它们的父级的CSS取决于它的复选框是否被选中。我似乎无法让它发挥作用,希望你能为我指出正确的方向。

目前,我在复选框“onclick”方法上有一个 setCss() 函数,但收到资源未定义错误。

我已添加jsFiddle

function setCss() {
if (this.checked)
    $(this).closest('td').className = "selected";
else
    $(this).closest('td').className = "deselected";
}

最佳答案

您可以使用 knockout css 非常简单地做到这一点绑定(bind):

 <td data-bind="css: {'selected': selected,'deselected': !selected() }">
      <!-- existing content -->
 </td>

我已更新your fiddle以这种方式工作。

此绑定(bind)意味着“如果 selected() 计算结果为 true 值,则设置“selected”类;如果计算结果为 false,则设置“deselected”类”。

您还可以使用 :not(selected) 而不是显式的 deselected 类来整理 CSS

关于javascript - 使用 javascript/knockout 设置父级父级 css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16667450/

相关文章:

javascript - JsPlumb 端点覆盖

jquery - 当我使用动态 html 两次应用绑定(bind)时, knockout 变得疯狂

javascript - 验证 ObservableArray 之间的重复数据

javascript - html表格,通过按键选择行

javascript - 具有 Angular 分量的动态嵌套 View

javascript - 如何在相对父 div 中堆叠 div 并在悬停时显示底部 div

javascript - 如何避免这种糟糕的 for 循环?

javascript - jQuery dataTables 表格工具不工作

javascript - 仅当子菜单处于事件状态时才跟随超链接

jquery - 选中复选框(如果可见)