jQuery(DOM对象) 或者 $(DOM对象)
此函数的作用是将DOM对象,转换为jQuery的对象
DOM对象其实就是javascript的函数对象,可以用来操作所有HTML元素。比如: a标签是html元素,document是DOM对象
【需求】
分别定义DOM对象和jQuery对象,通过instanceof 关键字分别判断它们是否是jQuery对象 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <!-- 引入jquery开发包 --> <script type="text/javascript" src="js/jquery-1.12.3.js"></script> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script type="text/javascript"> //页面加载后执行 $(function() { //使用JS获取Dom对象 var div1Dom = document.getElementById("mydiv1"); //使用jqueryid选择方式获得jquery对象 var div2jQuery = $("#mydiv2"); alert(div1Dom instanceof jQuery); //判断该对象是否是jquery对象 alert(div2jQuery instanceof jQuery); //判断该对象是否是jquery对象 }); </script> </head> <body> <div id='mydiv1'>这里是div的内容1</div> <div id='mydiv2'>这里是div的内容2</div> </body> </html>
jQuery对象其实是jQuery为了方便操作html元素而自定义的一种对象类型,类似于JavaScript的DOM对象
关于jQuery对象和DOM对象,需要注意的是:
(1)只有jQuery对象才能使用jQuery提供的属性和方法,并且无法使用DOM对象的属性和方法。而DOM对象只能使用DOM对象的属性和方法,无法使用jQuery提供的属性和方法。
所以我们在使用jQuery的时候,往往需要先将DOM对象,转换成jQuery对象再进行使用。
【需求】
分别让jQuery对象和DOM对象使用各自的方法,试验它们使用对方的方法会如何?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<!-- 引入jquery开发包 -->
<script type="text/javascript" src="js/jquery-1.12.3.js"></script>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script type="text/javascript">
//页面加载后执行
$(function() {
//使用JS获取Dom对象
var div1Dom = document.getElementById("mydiv1");
//使用jqueryid选择方式获得jquery对象
var div2jQuery = $("#mydiv2");
alert(div1Dom.innerHTML);//使用DOM对象的显示内容的属性
alert(div2jQuery.html());//使用jQuery对象的显示内容方法
//DOM对象和jQuery对象无法使用对方的属性和方法
//alert(div1Dom.html());//出错
//alert(div2jQuery.innerHTML);//出错
});
</script>
</head>
<body>
<div id='mydiv1'>这里是div的内容1</div>
<div id='mydiv2'>这里是div的内容2</div>
</body>
</html>
【相关函数】
.html(); 显示jQuery对象中的html内容
(2)DOM对象转换成jQuery对象
通过jQuery(DOM对象)核心函数进行转换,返回的结果就是jQuery对象,如:$(dom);
【需求】
将一个DOM对象转换成jQuery对象,并使用jQuery对象的方法
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<!-- 引入jquery开发包 -->
<script type="text/javascript" src="js/jquery-1.12.3.js"></script>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script type="text/javascript">
//页面加载后执行
$(function() {
//使用JS获取Dom对象
var div1Dom = document.getElementById("mydiv1");
//将DOM对象转换成jQuery对象
var q = $(div1Dom);
//使用jQuery对象的html()方法,显示内容
alert(q.html());
});
</script>
</head>
<body>
<div id='mydiv1'>这里是div的内容1</div>
<div id='mydiv2'>这里是div的内容2</div>
</body>
</html>
(3)jQuery对象转换成DOM对象
jQuery对象本身可以看成是DOM对象的数组,如果转换前的DOM对象的数量只有一个,可以通过jQuery对象[0] 或者 jQuery对象.get(0)来获取DOM对象。
并且可以通过length属性或者size()方法获取元素个数
【需求】
将jQuery对象转为DOM对象,并通过DOM对象的方法或属性显示其内容
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<!-- 引入jquery开发包 -->
<script type="text/javascript" src="js/jquery-1.12.3.js"></script>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script type="text/javascript">
//页面加载后执行
$(function() {
//使用jqueryid选择方式获得jquery对象
var div2jQuery = $("#mydiv2");
//将jQuery对象转换成DOM对象
var d = div2jQuery[0];
//使用DOM对象的方法或属性显示其内容
alert(d.innerHTML);
});
</script>
</head>
<body>
<div id='mydiv1'>这里是div的内容1</div>
<div id='mydiv2'>这里是div的内容2</div>
</body>
</html>
【相关函数】
jQuery对象[0],jQuery对象.get(0) 获取DOM对象
length属性或者size() 方法获取元素个数
(4)在开发的时候,为了避免混淆DOM对象和jQuery对象,我们往往在定义jQuery对象时,为jQuery对象名加上$符号。
例如:
var 变量名 = dom对象;
var $变量名 = jquery对象;