最近在学习 jQuery 的源码,分享一下学到的 DOM 对象与 jQuery 对象相关的知识。
DOM 对象与 jQuery 对象的区别
- DOM 对象是我们用传统的方法(JavaScript)获得的对象
- jQuery 对象是用 jQuery 类库的选择器获得的对象
var domObj = document.getElementById("id"); // DOM 对象
var $obj = $("id"); // jQuery 对象
注意: 在 jQuery 对象中无法使用 DOM 对象的任何方法,同样的,DOM 对象也不能使用 jQuery 方法。
例如:
$("id").innerHTML // 错误!
$("id").html() // 正确!
$("id").checked // 错误!
$("id").attr("checked") // 正确!
jQuery 对象和 DOM 对象的互相转换
假如 jQuery 没有封装你想使用的方法,可以将 jQuery 对象转换成 DOM 对象,反之亦然。
- jQuery 对象转换成 DOM 对象
jQuery 对象其实是一个数组对象,可以利用下标进行转换:
- [index]
- get(index)
例如:
var $cr = $("cr"); // jQuery 对象
var cr = $cr[0]; // DOM 对象,也可以写成 $cr.get(0)
alert(cr.checked); // 测试转换是否成功
- DOM 对象转换成 jQuery 对象
只需要用$()
将 DOM 对象包装起来,就可以获得一个 jQuery 对象了。
例如:
var cr = document.getElementById("cr"); // DOM 对象
var $cr = $(cr); // jQuery 对象
参考链接
https://www.cnblogs.com/yellowapplemylove/archive/2011/04/19/2021583.html
网友评论