getElementById与jquery $('#smth')之间的差异

And*_*kor 26 javascript jquery getelementbyid

经典Javascript代码之间有什么区别:

document.getElementById('theID')
Run Code Online (Sandbox Code Playgroud)

和jQuery版本:

$('#theID')
Run Code Online (Sandbox Code Playgroud)

lon*_*day 56

document.getElementById返回一个DOM对象.这是浏览器本地思考页面中元素的方式.它有各种方法和属性.使用它们可能有点笨拙.

jQuery对象(由$方法创建)是DOM元素或一组DOM元素的包装器.正常的属性和方法不可用; 您可以选择不同的方法,使DOM操作过程更加直观.

在选择中使用多个元素时,差异更明显(例如,您可以使用类选择器$('.someClass'),但jQuery选择的方法与本机DOM元素上的方法不同.它们指向相同的东西,但他们是不同的思考方式和处理它.


最后,您可以使用get方法(编辑:或替代的类似数组的语法)将jQuery选择转换为其本机DOM元素.所以

document.getElementById('theID')
Run Code Online (Sandbox Code Playgroud)

与...完全相同

$('#theID').get(0) // or $('#theId')[0]
Run Code Online (Sandbox Code Playgroud)

但请注意,您应该使用第一个,因为它具有更好的性能.如果您需要它提供的额外功能,请仅使用jQuery.