在JQuery中的appendChild错误,但appendTo工作正常

时间:2017-04-30 20:39:30

标签: javascript jquery

这里有一个问题的答案 Uncaught Type Error in appendChild 但这与我的用例无关,因为我没有选择nodeList,只是将一个元素放在一个变量中。

在下面的JQuery片段中,我使用appendChild得到了同样的错误但是appendTo工作得很好。我很想知道为什么会这样。

function handleImageFiles(files) {
        var container = $("#imageGallery");
        container.innerHtml = "";
        for (var i = 0; i < files.length; i++) {
            var file = files[i];
            var filename = file.name;

            var photoDiv = $("<div>", { id: "file" + i, 'class': "col-lg-3 col-md-4 col-xs-6 thumb" });
                container.appendChild(photoDiv);
               //photoDiv.appendTo(container);

           //rest of code
}

container是一个有效的对象,但是container.appendChild(photoDiv)正在抛出

  

未捕获的TypeError:container.appendChild不是函数

我无法理解为什么容器和photoDiv都是有效的对象而photoDiv.appendTo(容器)的工作正常。

1 个答案:

答案 0 :(得分:0)

jQuery没有名为appendChild的函数(只有DOM元素有它)。你要找的是append

container.appendChild(photoDiv);更改为:container.append(photoDiv);

注意: jQuery也没有名为innerHTML的属性,它有一个名为html的函数可以实现相同的功能。如果要清空元素,请使用empty