如何使用JavaScript获取已删除项的类名?

时间:2014-02-23 07:37:08

标签: javascript

我的容器很少,物品很少。我想将项目拖到容器中并获取已删除项目的类名称。

获取课程名称非常简单.className但不起作用

这是我正在使用的一些代码(places[i]是循环的一部分,所以为了澄清,我没有包含整个代码):

places[i].addEventListener('drop', function(e){
  console.log(this.childNodes[0].className  );
});

这不起作用,错误是“无法读取属性'className'”。我只试了this.childNodes而得到了:

[item: function]
  0: div.coins.blue
    ....
    className: "coins blue"
    ...

我确实尝试this.childNodes['item']已记录function item() { [native code] }。不知道从哪里开始

这是一个基本代码http://jsbin.com/wadavuci/1/edit?js,console,output

由于

1 个答案:

答案 0 :(得分:2)

使用拖放功能时,您必须设置手动设置要在dragstart事件中传输的数据。使用事件setData()对象的dataTransfer成员设置数据:

for (var i=0; i<coins.length; i++) {
    coins[i].addEventListener('dragstart', function(e){
        e.dataTransfer.setData("text/plain", this.className);
    });
}

同样,您必须阅读drop事件中传输的数据:

for (var i=0; i<places.length; i++) {   
    places[i].addEventListener('drop', function(e){
        console.log(e.dataTransfer.getData("text/plain"));
    });
    /* ... */
};

Native HTML5 Drag and Drop上的http://www.html5rocks.com/文章详细介绍了如何处理拖放。