Javascript appendTo()和append()有效,appendChild()无效

Javascript appendTo()和append()有效,appendChild()无效,javascript,jquery,Javascript,Jquery,作为拖放文件上载界面的一部分,在将文件拖放到目标容器上时会调用showImageshowImage检查文件是否为图像,读取文件,创建新的image对象,将删除的图像文件的数据设置为src,并将新元素插入DOM 对于DOM插入,调用jQuery的appendTo或append是可行的,但是本机方法appendChild返回错误:uncaughttypeerror:undefined不是函数。这是什么原因 var showImage = function(droppedImg) { var

作为拖放文件上载界面的一部分,在将文件拖放到目标容器上时会调用
showImage
showImage
检查文件是否为图像,读取文件,创建新的
image
对象,将删除的图像文件的数据设置为
src
,并将新元素插入DOM

对于DOM插入,调用jQuery的
appendTo
append
是可行的,但是本机方法
appendChild
返回错误:
uncaughttypeerror:undefined不是函数
。这是什么原因

var showImage = function(droppedImg) {
    var imageType = /image.*/;

    if (droppedImg.type.match(imageType)) {
        var reader = new FileReader();
        reader.onload = function(e) {
            if (e.target.readyState == FileReader.DONE) {
                newImg = new Image();
                newImg.onload = function(e) {
                    if (e.target.readyState == Image.DONE) {

                        //No DOM insertion. Throws this error: Uncaught TypeError: undefined is not a function
                        var dropTarg = document.querySelectorAll('.drop-container');
                        dropTarg.appendChild(newImg); 


                        //Image inserted into DOM
                        $('.drop-container').append(newImg); 
                        //Image inserted into DOM
                        $(newImg).appendTo('.drop-container'); 

                    }
                };
                newImg.src = reader.result;
            }
        }
        reader.readAsDataURL(droppedImg);
    }
};
querySelectorAll()
返回节点列表。要获取第一个元素,请按索引访问它:

var dropTarg = document.querySelectorAll('.drop-container')[0];
dropTarg.appendChild(newImg);
一些错误处理,以确保它找到的东西可能是有序的。

querySelectorAll()
返回一个节点列表。要获取第一个元素,请按索引访问它:

var dropTarg = document.querySelectorAll('.drop-container')[0];
dropTarg.appendChild(newImg);
querySelectorAll()
一些错误处理,以确保它发现的东西可能是有序的

querySelectorAll()
始终返回类似于数组的活动节点列表,因此您必须使用
.each()
for loop
,或指定目标元素的索引


始终返回类似于数组的活动节点列表,因此您必须使用
.each()
for loop
,或指定目标元素的索引。

要点:
querySelectorAll
返回类似于数组的数组,因为它具有
length
属性,但实际上不是数组。要点:
querySelectorAll
返回一个类似数组的数组,因为它具有
length
属性,但实际上不是数组。要点:
querySelectorAll
返回一个类似数组的数组,因为它具有
length
属性,但实际上不是数组。要点:
querySelectorAll
返回一个数组,该数组类似于具有
length
属性的数组,但实际上不是数组。
$('.drop container')。append(newImg)
$(newImg).appendTo('.drop container')
是jQuery。
$('.drop container').append(newImg)
$(newImg).appendTo('.drop container')是jQuery。