原生JS DOM对象与jQuery对象的区别、联系、相互转换

大家好!我们之前讲了一些关于原生JS的一些操作,今天我们来讲一下原生JS DOM对象与jQuery对象的区别、联系、相互转换.

Dom原生对象和jQuery对象的区别:

jQuery选择器得到的jQuery对象和标准的js中的document.getElementById()取得的dom对象是两种不同类型,两者不等价.

注:js原生获取的dom是一个对象,jQuery对象就是一个数组对象,其实就是选择出来的元素的数组集合.所以说他们两者是不同的对象类型不等价.

jQuery无法使用DOM对象的任何 方法,同理Dom对象也不能使用jQuery里的方法.乱使用会报错.

例:

$("#id").html();

document.getElementById("id").innerHTML;

意思是指:获取ID名为id的元素内的html代码.这两段代码结果相同,中间的取值过程不同.

即:$("#id").innerHTML、document.getElementById("id").html()之类的写法都是错误的.

注:jQuery是从js衍生出来的,师处同源,但是jQuery是经过一系列操作之后,将其封装成了一个个不同的方法,学习jQuery开始就应当树立正确的观念,之后学习jQuery就会轻松很多的.

js-dom对象和jQuery对象相互转换:

jQuery对象转换成DOM对象--两种转换方式:[index]和.get(index)

1.jQuery对象是一个数据对象,通过[index]的方法(就是通过下标索引寻找dom,进行操作)

  如:var $a = $("#a");   //jQuery对象

  var a = $a[0]; //DOM对象

  alert(a.checked)//检测这个checkbox是否被选中.

2、jQuery本身提供,通过.get(index)方法

  如:var $a = $("#a");//jQuery对象

  var a = $a.get(0);//DOM对象

alert(v.checked)//检测这个checkbox是否被选中

注:其实两者都是同一个道理即通过索引下标的方式,来寻找dom进行转换.

DOM对象转换成jQuery对象:对于DOM对象,只需要用$()把DOM对象包装起来,就可得到jQuery对象

  如:var a = document.getElementById("v");//DOM对象

  var $a=$(a);//jQuery对象

总之,框架之类的东西都是封装好了的一个个函数,中间会经历一些操作中间的取值过程也是不同,所以我们写代码的时候尽量使用同一种方式来写,不能混合使用,大概就是这个样子.