jQuery学习进阶01

1. jQuery简介:jQuery极大的简化了JavaScript开发人员遍历HTML文档、操作DOM、处理事件、执行动画和开发Ajax的操作。
2. jQuery的优势
① 轻量级:利用Packer压缩后大小不到30KB;利用Gzip压缩后只有18KB;
② 强大的选择器;
③ 出色的DOM操作的封装:jQuery封装了大量常用的DOM操作;
④ 可靠的事件处理机制;
⑤ 完善的Ajax:jQuery将所有的Ajax操作封装到$.ajax( )函数中;
⑥ 不污染顶级变量:jQuery只建立一个叫jQuery的对象,所有的函数方法都在这个对象之下。
⑦ 出色的浏览器兼容性
⑧ 链式操作方式:发生在同一个jQuery($)对象上的一组操作,可以直接连写无需重复获取对象
⑨ 隐式迭代:jQuery里的方法都是默认自动操作对象集合。
⑩ 行为层与结构层的分离:使用jQuery选择器选中元素,可以直接给元素添加事件。
⑪ 丰富的插件支持。
⑫ 完善的文档。
⑬ 开源
3. jQuery库类型
① jquery-1.3.1.js ,114KB,完整无压缩版本,主要用于测试学习和开发。
② jquery-1.3.1.min.js , 54KB/18KB,JSMin等工具压缩为54KB,Gzip压缩后大小只有18KB,主要用于产品和项目。
4. jQuery环境配置:在相应的HTML文档中引入jQuery库文件的位置即可。
	<!DOCTYPE html>
	<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<script src="../script/jquery-1.3.1.js" type="text/javascript" />	
	</head>
	<body>
	</body>
	</html>
5. jQeury对象和DOM对象
① DOM对象: 
	Document Object Model,文档对象模型。通过JavaScript中的getElementsByTagName或者getElementById获取元素节点,这样得到的就是DOM元素或DOM对象。DOM对象可以使用JavaScript中的方法。
② jQuery对象:
	通过jQuery包装DOM对象后产生的对象。jQuery对象是jQuery独有的,jQuery对象可以使用jQuery里的方法。
jQuery对象无法使用DOM对象的任何方法,同理DOM对象也无法使用jQuery对象里的方法。
③ jQuery对象转化为DOM对象
	a. 通过[index] 的方法得到对应的DOM对象
	var $obj = $("#obj");   // jQuery对象
	var obj = $obj[0];   // DOM对象
	alert(obj.checked)// 检测checkbok是否被选中
	b. 通过get(index)方法得到对应的DOM对象
	var $obj = $("#obj");   // jQuery对象
	var obj = $obj[0];   // DOM对象
	alert(obj.checked)// 检测checkbok是否被选中
④ DOM对象转成jQuery对象
    只需要使用$( )把DOM对象包装起来,就可以获得一个jQuery对象了。
	var obj = document.getElementById("obj"); // DOM对象
	var $obj = $(obj);	// jQuery对象
6. 解决jQuery和其他库的冲突
① jQuery在其他库之后导入
	a. <!DOCTYPE html>
	<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
	<head></head>
	<body>
		<p id="pp">test---prototype<p>
		<p>test---jQuery<p>
		<!--引入prototype-->
		<script src="prototype-1.6.0.3.js" type="text/javascript"></script>
		<!--引入jQuery-->
		<script src="../../script/jquery-1.3.1.js" type="text/javascript"></script>
		<script language="javascript">
			jQuery.noConflict(); //将变量$的控制权交给prototype.js
			jQuery(function(){ //使用jQuery
				jQuery("p").click(function(){
					alert(jQuery(this).text());
				})
			})
			$("pp").style.display = 'none'; //使用prototype
		</script>
	</body>
	</html>
	b. 自定义一个快捷方式
	<!DOCTYPE html>
	<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
	<head></head>
	<body>
		<p id="pp">test---prototype<p>
		<p>test---jQuery<p>
		<!--引入prototype-->
		<script src="prototype-1.6.0.3.js" type="text/javascript"></script>
		<!--引入jQuery-->
		<script src="../../script/jquery-1.3.1.js" type="text/javascript"></script>
		<script language="javascript">
			var $j = jQuery.noConflict(); //自定义一个快捷方式
			$j(function(){ //使用jQuery,利用自定义快捷方式$j
				jQuery("p").click(function(){
					alert($j(this).text());
				})
			})
			$("pp").style.display = 'none'; //使用prototype
		</script>
	</body>
	</html>
c. 如果不想给jQuery自定义名称,可以使用以下2中方法:
	// ...省略其他代码
	jQuery.noConflict(); //将变量$的控制权交给prototype.js
	jQuery(function($){	//使用jQuery设定页面加载时执行的函数
		$("p").click(function(){ //在函数内部继续使用$()方法
			alert($(this).text());
		})
	})
	$("pp").style.display = 'none'; // 使用prototype
---------------------------------------------------------------------------------------
	// ...省略其他代码
	jQuery.noConflict(); //将变量$的控制权交给prototype.js
	(function($){	//定义匿名函数并设置形参为$
		$(function(){ //匿名函数内部的$均为jQuery
			$("p").click(function(){ //继续使用$()方法
				alert($(this).text());
			});
		});
	})
	$("pp").style.display = 'none'; // 使用prototype
	
②  jQuery库在其他库之前导入
	<!DOCTYPE html>
	<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
	<head></head>
	<body>
		<p id="pp">test---prototype<p>
		<p>test---jQuery<p>
		<!-先引入jQuery-->
		<script src="../../script/jquery-1.3.1.js" type="text/javascript"></script>
		<!--引入prototype-->
		<script src="prototype-1.6.0.3.js" type="text/javascript"></script>
		<script language="javascript">
			jQuery(function(){ //直接使用jQuery,无需调用“jQuery.noConflict()”
				jQuery("p").click(function(){
					alert(jQuery(this).text());
				})
			})
			$("pp").style.display = 'none'; //使用prototype
		</script>
	</body>
	</html>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值