首页 > 编程笔记 > Web笔记

jQuery对象和DOM对象的区别

jQuery 对象和 DOM 对象是完全不一样的,下面我们先来看一个简单的例子。

举例:
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
    <script src="js/jquery-1.12.4.min.js"></script>
    <script>
        $(function () {
            $("div").innerText = "新宝库";
        })
    </script>
</head>
<body>
    <div></div>
</body>
</html>
预览效果如图 1 所示。
页面没有内容
图 1:页面没有内容

咦,怎么回事?$("div").innerText不是用于设置 div 元素内部文本内容的吗?为什么页面没有内容呢?

其实$("div")获取的是一个 jQuery 对象,而 innerText 却是 DOM 对象的属性。jQuery 对象与 DOM 对象是两个完全不同的对象,很多初学者容易忽略这一点。我们把 jQuery 对象比作“张三”,把 DOM 对象比作“李四”,那么 innerText 就是“李四的儿子”。张三(jQuery)怎么可以随便就把李四的儿子(innerText)当成自己的儿子来使唤呢。

小伙伴们一定要记住,如果你获取的是 jQuery 对象,就只能使用 jQuery 的方法;如果你获取的是 DOM 对象,就只能使用 DOM 方法(即原生 JavaScript 方法),两者是不能混用的。

因此,对于上面这个例子,正确的做法有两种:
//方法1:使用jQuery
$("div").text("新宝库")

//方法2:使用DOM
var oDiv = document.getElementsByTagName("div")[0];
oDiv.innerText="新宝库";
总而言之,凡是通过$()获取到的都是 jQuery 对象,必须使用 jQuery 的方法。

所有教程

优秀文章