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 = "C语言中文网";
        })
    </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("C语言中文网")

//方法2:使用DOM
var oDiv = document.getElementsByTagName("div")[0];
oDiv.innerText="C语言中文网";

总而言之,凡是通过$()获取到的都是 jQuery 对象,必须使用 jQuery 的方法。

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/23919.html

(0)
上一篇 2021年7月20日 11:28
下一篇 2021年7月20日 11:28

相关推荐

发表回复

登录后才能评论