通过jQuery选择器获取的对象与通过document.getElementById获取的对象是不同类型对象。
使用jQuery获取的对象不能使用DOM中的方法,而DOM对象也不能直接使用jQuery中的方法,例如 $p.html(*)是会报错的。那就涉及到将他们相互转换的问题,那么,如何将他们相互转换呢?
1.jQuery对象转DOM对象
方法一:[index]
(1) jQuery对象是一个数据对象, 可以通过[index] 的方法, 来得到相应的DOM对象。
var $p = $('#p-jq'); //jQuery对象
var p = $p[0]; //DOM对象
console.log($p); // 转DOM对象
console.log(p);
运行结果如下:
方法二:.get(index) jQuery本身提供
var $p = $('#p-jq'); //jQuery对象
console.log($p);
var p = $p.get(0);//get(index)
console.log(p);
运行结果同上:
![](https://img-blog.csdn.net/20170420155532256?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ2l0aHViXzM3NzcyODA1/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![]()
2.DOM对象转jQuery对象
// 对于已经是一个DOM对象,只需要用$()把DOM对象包装起来,就可以获得一个jQuery对象了。$(DOM对象)
var div = document.getElementById('div');
console.log(div);
// 使用$(dom)方法转jquery对象
var $div=$(div);
console.log($div);
运行结果如下: