认识jQuery
一、JavaScript库
把一些浏览器兼容性的代码或者需要常用的函数装在一个js文件里,封装了很多js代码的一个js文件就是一个库
二、jQuery
- 是一个JavaScript库,免费开源的,体积小,链式编程,隐式迭代,很多优点
- jQuery 的功能概括:html 的元素选取、html的元素操作、html dom遍历和修改、js特效和动画效果、css操作、html事件操作、ajax异步请求方式
三、版本
- 网址:jquery.com
- jQuery的js文件每个版本有两个,第一个是正常版本,第二个是压缩版本,开发的时候两个都可以使用,上线的时候推荐使用压缩版本
- jQuery 版本 2 以上不支持 IE6,7,8 浏览器。如果需要支持 IE6/7/8,那么请选择1.9,你还可以通过条件注释在使用 IE6/7/8 时只包含进1.9。
<!--[if lt IE 9]> <script src="jquery-1.9.0.js"></script> <![endif]--> <!--[if gte IE 9]><!--> <script src="jquery-2.0.0.js"></script> <!--<![endif]-->
四、初体验
1.常识:
- 如果需要使用jQuery中的属性或者方法,那么需要jQuery.属性或者jQuery.方法()来使用
- 简单的写法:$.属性,或者$.方法
- 大多数情况下,jQuery中使用的都是方法,属性很少
- jQuery中几乎把DOM的事件都封装成了一个方法,在jQuery中几乎是把on去掉,然后变成方法了
<!-- 例子: DOM中注册事件: document.getElementById("id的属性值").onclick=匿名函数; jQuery中注册事件:$("#id属性值").click(匿名函数) -->
2.案例
<input type="button" value="设置" id="btn"> <div id="dv"></div> <!-- 引入js文件(百度cdn) --> <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script> <script> //点击按钮.设置div的宽和高,以及背景颜色 $("#btn").click(function(){ $("#dv").css({"width":"200px","height":"200px","backgroundColor":"yellow"}); }); </script>
<input type="button" value="修改" id="btn"> <p></p> <p></p> <p></p> <p></p> <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script> <script> //修改所有p标签的内容 $("#btn").click(function(){ $("p").text("标签p的内容被修改了"); }); </script>
五、顶级对象
- jQuery的顶级对象jQuery——符号$代替,方便使用
- 浏览器的顶级对象window
- 页面的顶级对象document
六、jQuery对象和DOM对象互转的问题
- 元素通过DOM获取就是DOM对象,通过jQuery获取就是jQuery对象
- DOM对象调用jQuery的方法不能实现,必须是jQuery对象才能调用jQuery方法
- jQuery对象调用DOM对象的属性和方法也不能实现,但可以使用jQuery对象[0]转DOM对象
<input type="button" value="点击" id="btn1"> <input type="button" value="点击" id="btn2"> <!-- 引入jQuery文件 --> <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script> <script> //通过DOM获取的DOM对象 var btnObj1=document.getElementById("btn1"); btnObj1.click(function(){ console.log("哈哈");//无效 }); //通过jQuery获取的jQuery对象---转DOM对象 var btnObj2=$("#btn2"); btnObj2[0].onclick=function(){ console.log("哈哈");//哈哈 }; </script>
七、jQuery文件的引入
- 下载代码文件至本地项目中,引入。
<script src="jQuery文件的地址"></script>
- 通过 CDN(内容分发网络) 引用它
使用CDN引用的一个好处:许多用户在访问其他站点时,已经从百度、又拍云、新浪、谷歌或微软加载过 jQuery。所有结果是,当他们访问您的站点时,会从缓存中加载 jQuery,这样可以减少加载时间。
同时,大多数 CDN 都可以确保当用户向其请求文件时,会从离用户最近的服务器上返回响应,这样也可以提高加载速度。
菜鸟教程CDN:<script src="http://cdn.static.runoob.com/libs/jquery/1.10.2/jquery.min.js"></script> 百度CDN:<script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script> 又拍云:<script src="http://upcdn.b0.upaiyun.com/libs/jquery/jquery-2.0.2.min.js"></script> 新浪:<script src="http://lib.sinaapp.com/js/jquery/2.0.2/jquery-2.0.2.min.js"></script> Google:<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> (站点用户是国外的才使用google的,国内使用google不稳定) Microsoft:<script src="http://ajax.htmlnetcdn.com/ajax/jQuery/jquery-1.10.2.min.js"></script>
八、案例:网页开关灯
<!-- DOM版本的写法 --> <input type="button" value="DOM关灯" id="btn1"> <script> document.getElementById("btn1").onclick=function(){ var body=document.body; if(body.style.backgroundColor=="black"){ body.style.backgroundColor=""; this.value="DOM关灯"; }else{ body.style.backgroundColor="black"; this.value="DOM开灯"; } }; </script>
<!-- jQuery版本写法 --> <input type="button" value="jQuery关灯" id="btn2"> <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script> <script> $("#btn2").click(function(){ if($(this).val()=="jQuery关灯"){ $("body").css("backgroundColor","black"); $(this).val("jQuery开灯"); }else{ $("body").css("backgroundColor",""); $(this).val("jQuery关灯"); } }); </script>