如何使用JavaScript包装动态创建的图像元素

时间:2018-09-15 09:44:41

标签: javascript angular6

我想在文件输入的更改事件中显示图像预览。因此,我正在使用JavaScript创建Image元素,并且希望将其包装在div中以显示关闭按钮。为此,我编写了以下代码:

preview(event, imageList) {
    let imgLen = event.target.files.length;
    if (imgLen > 0) {
        for (let i = 0; i < imgLen; i++) {
            let myImage = new Image(100, 100);
            myImage.src = URL.createObjectURL(event.target.files[i]);
            myImage.setAttribute('style', 'margin: 5px');
            imageList.appendChild("<div>" + myImage + "</div>");
        }
    }
} 

但是我在运行时抛出错误。 错误enter image description here

2 个答案:

答案 0 :(得分:0)

使用此:

var divNode = document.createElement('DIV');
divNode.appendChild(myImage);
imageList.appendChild(divNode);

答案 1 :(得分:-1)

preview(event, imageList) {
    let imgLen =event.target.files.length;
    if(imgLen > 0) {
      for (let i = 0; i< imgLen; i++) {
        let myImage = new Image(100, 100);
        myImage.src = URL.createObjectURL(event.target.files[i]);
        let div = document.createElement('div');
        div.appendChild(myImage);
        myImage.setAttribute('style', 'margin: 5px'); 
        imageList.append( myImage);    
      }  
    }