javascript - 动态更改 DIV 元素的类名称

标签 javascript jquery knockout.js

我有以下代码:

 <div class="choices ui-grid-c" data-bind="foreach: choices">

                    <div class="ui-block-a"> </div>

</div>

我正在使用 knockoutjs 来迭代并创建网格列表。内部 div 具有类“ui-block-a”。我需要在每次迭代时将此类更改为“ui-block-b”、“ui-block-c”、“ui-block-d”。在“ui-block-d”之后,它应该变回“ui-block-a”。

最佳答案

在父级上创建辅助函数:

self.blockClass = function(index) {
    var base = 'ui-block-';
    var blockIndex = index % 4;
    switch (blockIndex) {
      case 0:
        return base + 'a';
      case 1:
        return base + 'b';
      case 2:
        return base + 'c';
      case 3:
        return base + 'd';
    }
}

然后使用css绑定(bind)就可以了:

<div class="choices ui-grid-c" data-bind="foreach: choices">
    <div data-bind="css: $parent.blockClass($index())> </div>
</div>

JSFiddle

关于javascript - 动态更改 DIV 元素的类名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25876121/

相关文章:

javascript - android webview javascript调用缺少的函数

javascript - 使用 JavaScript 为 DataTables 生成变量 HTML 表

javascript - 为什么 addClass 和 removeClass 会破坏我的 jQuery?

javascript - 如何使用 jQuery 创建站点地图

javascript - 如何使用 ko.validation.group 函数

javascript - knockout JS : Stop a particular property from setting dirty flag

javascript - css 同步关键帧动画

jquery - 淡入/淡出 LI 并调整容器的高度

html - 启用绑定(bind)不起作用

javascript - 有时alert()会让IE做一些IE在没有它的情况下拒绝做的事情