DOM对象是原生JavaScript获取的元素,只能使用原生方法如innerHTML、style;jQuery对象由$()封装生成,可调用.css()、hide()等方法;两者可通过.get()或$()相互转换,需注意方法匹配,避免混用导致错误。
DOM对象和jQuery对象是JavaScript开发中常见的两种对象类型,它们在使用方式、功能和操作上存在明显区别。
DOM对象是原生JavaScript对象
DOM(Document Object Model)对象是由浏览器原生提供的,通过JavaScript原生方法获取,比如:
-
document.getElementB
yId('myId') 返回的是一个DOM元素对象 - document.querySelector('.className') 获取的也是DOM对象
这类对象只能调用原生JavaScript提供的属性和方法,如innerHTML、style、addEventListener等。
jQuery对象是jQuery库封装的对象
jQuery对象是通过jQuery函数(通常是$())包装DOM元素后生成的,例如:
- $('#myId') 返回一个jQuery对象
- $('.className') 返回包含多个元素的jQuery对象
jQuery对象拥有jQuery库提供的丰富方法,如.css()、.hide()、.animate()等,但不能直接使用原生DOM方法,除非提取出内部的DOM元素。
两者可以互相转换
在实际开发中,经常需要在两者之间转换:
- 将jQuery对象转为DOM对象:使用索引或.get()方法,如 $('#myId')[0] 或 $('#myId').get(0)
- 将DOM对象转为jQuery对象:用$()包裹即可,如 $(document.getElementById('myId'))
注意使用场景和方法匹配
不能对DOM对象调用jQuery方法,也不能对jQuery对象使用只有DOM对象才有的属性或方法。例如:
- $('#myId').innerHTML = 'test' 是错误的,因为innerHTML不是jQuery对象的方法
- document.getElementById('myId').hide() 会报错,因为hide()是jQuery的方法
正确做法是区分类型,或进行转换后再操作。
基本上就这些。理解两者的区别有助于避免常见错误,提升代码的可维护性。不复杂但容易忽略。

yId('myId') 返回的是一个DOM元素对象






