如何删除除一个之外的所有元素?

时间:2012-12-19 10:06:07

标签: javascript raphael

除了我点击的那个之外,我想从我的canva中删除所有元素。 我创建一个集合,将所有元素放入其中并删除集合:

button.click(function () {
    var to_remove = paper.set();    
    paper.forEach(function (el) {
        to_remove.push(el);
    });         
    to_remove.remove();
});

但我没有成功测试我的元素是否是我的按钮。

阿克塞尔

1 个答案:

答案 0 :(得分:1)

您可以简单地缓存点击的元素并在循环过程中进行比较。

button.click(function() {
    var clickedEl = this,
        toRemove = paper.set();

    paper.forEach(function(el) {
        if (el !== clickedEl) {
            toRemove.push(el);
        }
    });

    toRemove.remove();
});​

演示:http://jsfiddle.net/yRNNe/