jQuery 对象和 DOM 对象是完全不一样的,下面我们先来看一个简单的例子。
图 1:页面没有内容
举例:
<!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