参数1不是类型'节点'当appendChild(img)

时间:2017-05-31 16:30:49

标签: javascript dom

我目前正在开展一个辅助项目,并使用DOM操作。

下面,我创建了一个函数addImage。当浏览器调用此函数时,它将返回以下错误:

  

TypeError:无法执行' appendChild' on' Node':参数1不属于' Node'。

function addImage(data) {
    let imageElement = new Image();
    imageElement.src = data;
    console.log(imageElement);
    let imageContainer = document.getElementById('image-container');
    imageContainer.appendChild('imageElement');
}

imageElement = `<img src="https://igcdn-photos-f-a.akamaihd.net/hphotos-ak-xpt1/t51.2885-19/11193017_906607852718693_821675199_a.jpg">`

我用这种typeError查看了其他问题。在这些示例中,字符串被添加到div元素。

2 个答案:

答案 0 :(得分:0)

您使用Node.appendChild()imageElement附加到imageContainer,应将元素( node )传递到appendChild(),但是您通过string,这就是错误的原因。

所以,改变

imageContainer.appendChild('imageElement');

收件人

imageContainer.appendChild(imageElement);

你很好。

Working example

答案 1 :(得分:0)

从imageElement中删除''(单引号),否则将被视为字符串,从而导致此错误。

  

imageContainer.appendChild( imageElement );

function addImage(data) {
    let imageElement = new Image();
    imageElement.src = data;
    console.log(imageElement);
    let imageContainer = document.getElementById('image-container');
    imageContainer.appendChild(imageElement);
}

imageElement = `<img src="https://igcdn-photos-f-a.akamaihd.net/hphotos-ak-xpt1/t51.2885-19/11193017_906607852718693_821675199_a.jpg">`