初学 jQuery, 会对 jQuery 对象和 DOM 对象心存很大的疑惑, 因此有必要明白他们之间的区别和联系. 下面本篇文章就来给大家介绍一下, 希望对大家有所帮助.
1,jQuery 对象
jQuery 对象其实是一个 JavaScript 的数组
这个数组对象包含 125 个方法和 4 个属性
4 个属性分别是
jQuery 当前的 jQuery 框架版本号
length 指示该数组对象的元素个数
context 一般情况下都是指向 htmlDocument 对象
selector 传递进来的选择器内容 如:#yourId 或. yourClass 等
如果你通过 $("#yourId")方法获取 jQuery 对象,
并且你的页面中只有一个 id 为 yourId 的元素
那么 $("#yourId")[0]就是 HtmlElement 元素
与 document.getElementById("yourId")获取的元素是一样的
简单理解, 就是 jQuery 创建的对象
jQuery 对象就是通过 jQuery 包装 DOM 对象后产生的对象. jQuery 对象是 jQuery 独有的, 其可以使用 jQuery 里的方法, 但是不能使用 DOM 的方法
2,DOM 对象
DOM 实际上是以面向对象方式描述的文档模型. DOM 定义了表示和修改文档所需的对象, 这些对象的行为和属性以及这些对象之间的关系.
根据 W3C DOM 规范, DOM 是 HTML 与 xml 的应用编程接口(API).
通过 DOM, 可以访问所有的 HTML 元素, 连同它们所包含的文本和属性. 可以对其中的内容进行修改和删除, 同时也可以创建新的元素.
HTML DOM 独立于平台和编程语言. 它可被任何编程语言诸如 Java,JavaScript 和 VBScript 使用.
DOM 对象, 即是我们用传统的方法 (JavaScript) 获得的对象.
3,DOM 对象和 jQuery 对象的区别
- var domObj = document.getElementById("id"); //DOM 对象
- var $obj = $("#id"); //jQuery 对象;
- $("#img").attr("src","test.jpg"); // 这里的 $("#img")就是获取 jQuery 对象;
- document.getElementById("img").src="test.jpg";
- // 这里的 document.getElementById("img")就是 DOM 对象;
再说一个例子: 就是 this, 我在写 jQuery 的时候经常这样写:
this.attr("src","test.jpg");
可是就是出错. 其实 this 是 DOM 对象, 而
.attr("src","test.jpg")
是 jQuery 方法, 所以出错了.
DOM 对象就是 JavaScript 固有的一些对象. DOM 对象能使用 JavaScript 固有的方法, 但是不能使用 jQuery 里面的方法.
要解决这个问题就要将 DOM 对象转换成 jQuery 对象, 例如:
$(this).attr("src","test.jpg");
更多 web 前端开发 https://www.html.cn/ 知识, 请查阅 HTML 中文网 !!
来源: http://www.css88.com/qa/jquery/16891.html