Javascript 无法通过id:fabric js删除画布并更改src

Javascript 无法通过id:fabric js删除画布并更改src,javascript,jquery,canvas,fabricjs,Javascript,Jquery,Canvas,Fabricjs,我想按画布的id删除画布我尝试为其分配id,但无法调用删除方法: 见链接: html代码: 除掉它 js代码 var canvas = new fabric.Canvas('c'); function getObjectById(id) { canvas.forEachObject(function(o) { if (o.id === id) { return o;

我想按画布的id删除画布我尝试为其分配id,但无法调用删除方法:

见链接:

html代码:

除掉它

js代码

    var canvas = new fabric.Canvas('c');

        function getObjectById(id) {
            canvas.forEachObject(function(o) {
                if (o.id === id) {
                    return o;
                }
            });
            return null;
        }

    var img = "http://edudemic.com/wp-content/uploads/2012/09/jail_photo.jpg";

        fabric.Image.fromURL(img, function (source) {
        img = source.set({
            left: 0,
            top: 0,
            angle: 0,
            id:'moveit'
        });
        canvas.add(img);
        canvas.renderAll();
        });

      document.getElementById('download').onclick = function() {
          alert('hii');
        var removeit = getObjectById('moveit');
          canvas.remove(removeit);
      };

      document.getElementById('changeimage').onclick = function() {
          alert('hii');
        getObjectById('moveit').src="http://www.meandmylaptop.com/uploads/5/8/1/2/5812329/7801574.png";
          canvas.renderAll();
      };

document.getElementById('changeimage').onclick = function() {
          alert('hii');
        getObjectById('moveit').src="http://www.meandmylaptop.com/uploads/5/8/1/2/5812329/7801574.png";
          canvas.renderAll();
      };

改变

  alert('hii');
  var removeit = getObjectById('moveit');
  canvas.remove(removeit);


var removeit=getObjectById('moveit')为空。因此,不知何故,您正在设置id,但没有应用id;是的,但你正在添加新图像,而不是旧图像src@mour使用setAttribute进行更改
//      alert('hii');
canvas.remove(img);
//   var removeit = getObjectById('moveit');
//      canvas.remove(removeit);