在 Knockout sortable 的 Move 事件之后更改元素的 CSS

Change CSS of element in after Move event of Knockout sortable

我想将元素的CSS拖放(afterMove事件)更改为使用knockout sortable库的容器.我尝试获取包含该元素的 div 的 ID,并在 afterMove 事件中将其 CSS 修改为:

document.getElementById('container').style.backgroundColor="yellow";

上面的代码并没有改变被移动元素的颜色,而是改变了可观察元素数组中第一个元素的颜色。我已经附上了当前情况的JS fiddler。他们是一种访问被移动元素的 div 的 ID 的方法,以便仅更改该特定元素的 css 吗?

Attached JS fiddler

为您的学生添加一个感动属性

var Student = function(id, name, gender) {
    this.id = id;
    this.name = ko.observable(name);
    this.gender = gender;
    this.moved = ko.observable(false);
};

绑定 CSS 为要使用的项目:

<div id="container" style="background-color: white; margin:4px;">
    <p data-bind="text: name, css:{two:moved}"></p>
</div>

移动后设置属性:

this.updateLastAction = function(arg) {
    arg.targetParent()[arg.targetIndex].moved(true);
};

http://jsfiddle.net/UdXr4/846/