30

假设我有,

<span class="cls1 cls2" data-bind="title: title" ></span>

我想通过 JSON 对象添加另一个类,

{ title: 'a', clas: 'cls3' }

这部作品,

    <span class="cls1 cls2" data-bind="attr:{title: title,'class': 'cls1 cls2'+clas}" ></span>

但问题是它会添加两个类属性。我一开始就需要 cls1 和 cls2 类。但是在某些事件之后需要 cls3 类。

4

3 回答 3

47

您应该使用css绑定而不是attr为此。在文档中阅读有关它的更多信息:http: //knockoutjs.com/documentation/css-binding.html

您的代码将如下所示:

<span class="cls1 cls2" data-bind="text: title, css: myClass" ></span>

这是工作小提琴:http: //jsfiddle.net/vyshniakov/gKaRF/

于 2013-01-10T10:20:36.020 回答
17

使用多个类:

<span
    class="yourClass"
    data-bind="css: { myClass: (true == true), theirClass: (!true == false), ourClass: true }"
>Thine Classes</span>
于 2014-06-18T18:45:35.350 回答
10

您可以使用css绑定来执行此操作:

<span class="cls1 cls3" data-bind="css: clas"/>

这会将“class”属性的值添加到元素的当前类集合中

于 2013-01-10T10:19:09.910 回答