您想解释
之间的不同之处吗?document.getElementById("something")
和
$("#something")
我正在尝试使用ajax上传文档,我意识到了
var upl = document.getElementById('uplFile');
console.log(upl.files);
返回一个对象但是
var upl = $('#uplFile');
console.log(upl.files);
返回“未定义”
请解释一下差异。
答案 0 :(得分:6)
我认为你的意思是:
document.getElementById("something")
和
$('#something')
第一个将返回具有指定id的DOM元素,或者为null。
第二个将返回一个jQuery对象,它将包含具有指定id的DOM元素,或者是一个空的jQuery对象(length = 0)。
由于jQuery函数返回一个jQuery对象而不是一个元素,你必须从jQuery对象中获取该元素才能访问元素属性:
var upl = $('#uplFile');
console.log(upl[0].files);
答案 1 :(得分:0)
区别在于getElementById('id')
返回HTML DOM元素,而$('id')
返回由jQuery对象包装的DOM元素。
因此,您的两个示例之间的区别在于您引用了返回对象的属性。很明显,jQuery对象没有files属性,而DOM元素则有。