jQuery简介:
jQuery由美国人John Resig于2006年创建;jQuery是目前最流行的JavaScript程序库,它是对JavaScript对象和函数的封装;它的设计思想是write less,do more
jQuery的应用:
1. jQuery与其他JavaScript库:
jQuery;Bootstrap【也是一个比较好的框架,应用也比较广泛】;Zepto【轻量级的,应用于现代高级浏览器的JavaScript库,会用jQuery就会用它,并且它还加入了移动端的事件操作,如:触摸事件,长按事件,滑动事件】;Ext【用于在客户端创建web界面】;YUI【用来创建驻客户端的web应用】
2. jQuery能做什么
①访问和操作DOM元素【可以帮助我们对节点进行操作】
②控制页面样式
③对页面事件进行处理【页面处理方法是jQuery中特有的方法】
④扩展新的jQuery插件【可以利用其他人写的插件】
⑤与Ajax技术完美结合【帮我们处理了浏览器的兼容问题】
注:jQuery能做的JavaScript也都能做,但使用jQuery能大幅提高开发效率
3. jQuery的优势
①体积小,压缩后只有100KB左右
②强大的选择器【选择方便】
③出色的DOM封装
④可靠的事件处理机制
⑤出色的浏览器兼容性
⑥使用隐式迭代简化编程
⑦丰富的插件支持
4. 获取jQuery
进入jQuery官网:http://jquery.com
点击Download jQuery下载
5. jQuery库文件
jQuery库分开发版和发布版:
名称 | 大小 | 说 明 |
jquery-1.版本号.js(开发版) | 约286KB | 完整无压缩版本,主要用于测试、学习和开发 |
jquery-1.版本号.min.js(发布版) | 约94.8KB | 经过工具压缩或经过服务器开启Gzip压缩,主要应用于发布的产品和项目 |
6. 在页面中引入jQuery:
<script src="js/jquery-1.12.4.js" type="text/javascript"></script>
<script src="http://code.jquery.com/jquery-1.12.4.min.js"></script>
7. jQuery基本语法:
使用jQuery弹出提示框:
<script>
$(document).ready(function() {
【为页面加载事件绑定方法】
alert("我欲奔赴沙场征战jQuery,势必攻克之!");
});
</script>
$(document).ready()与window.onload的区别
| window.onload | $(document).ready() |
执行时机 | 必须等待网页中所有的内容加载完毕后(包括图片、flash、视频等)才能执行 | 网页中所有DOM文档结构绘制完毕后即刻执行,可能与DOM元素关联的内容(图片、flash、视频等)并没有加载完 |
编写个数 | 同一页面不能同时编写多个 | 同一页面能同时编写多个 |
简化写法 | 无 | $(function(){ //执行代码 }) ;简写形式 |
8. jQuery语法结构
语法:$(selector).action() ;
工厂函数$( ):将DOM对象转化为jQuery对象
选择器 selector:获取需要操作的DOM 元素
方法action( ):jQuery中提供的方法,其中包括绑定事件处理的方法
9. jQuery操作页面元素
①使用addClass( )方法为元素添加样式
语法:jQuery 对象.addClass([样式名]);
示例:$("#current").addClass("current");
②使用css( )方法设置元素样式
语法:
css("属性","属性值") ;
css({"属性1":"属性值1","属性2":"属性值2"...}) ; 【同时设置多个CSS属性】
示例:
$("li").mouseover(function(){
$(this).css({"background":"orange"}); 【this是选择当前的li】
}). mouseout(function(){
$(this).css({"background":"#c81623"});
})
③使用show( )、hide( ) 方法设置元素的显示和隐藏
语法:
$(selector).show( );
$(selector).hide( );
示例:$(".nav-top").show( ); $("p").hide( );
jQuery代码风格:
1. “$”等同于“ jQuery ”
$(document).ready( )=jQuery(document).ready( )
$(function( ){...})=jQuery (function( ){...})
2. 链式操作
对一个对象进行多重操作,并将操作结果返回给该对象
示例:$("h2").css("background-color","#ccffff").next( ).css("display","block");
.next( ) 【取回该选择器的下一个同胞元素;如:可以取到h2的下一个同胞元素p】
3. 隐式迭代
示例:
$(document).ready(function( ) {
$("li").css({"font-weight":"bold","color":"red"}); });
在jQuery中设置集合的属性,不需要遍历每一个元素,可以直接设置,这就是隐式迭代
4. jQuery中添加注释
阶段 | 说明 |
开发阶段 | 为代码添加注释,可以增加代码的可读性,能够让别人很容易的读懂你的代码,便于后期维护 |
维护阶段 | 建议把关键的模块形成开发文档,便于后期维护,即便后期删除代码注释,也不影响后期维护 |
产品正式发布 | 建议删除注释,减少文件大小,加快下载速度,提高用户体验 |
DOM模型:
浏览器把HTML文档的元素转换成节点对象,所有节点组成了一个树状结构
DOM对象和jQuery对象:
1. DOM对象:
直接使用JavaScript获取的节点对象
var objDOM=document.getElementById("title");
var objHTML=objDOM.innerHTML;
2. jQuery对象:
使用jQuery包装DOM对象后产生的对象,它能够使用jQuery中的方法
$("#title").html( );
等同于
document.getElementById("title").innerHTML;
【DOM对象和jQuery对象分别拥有一套独立的方法,不能混用】
3. DOM对象转jQuery对象
使用$()函数进行转化:$(DOM对象)
示例:
var txtName =document.getElementById("txtName");
var $txtName =$(txtName);
【jQuery对象命名一般约定以$开头在事件中经常使用$(this),this是触发该事件的对象】
4. jQuery对象转DOM对象
①jQuery对象是一个类似数组的对象,可以通过[index]的方法得到相应的DOM对象
示例:
var $txtName =$ ("#txtName"); 【jQuery对象】
var txtName =$txtName[0]; 【DOM对象】
console.log(txtName.innerHTML);
②通过get(index)方法得到相应的DOM对象
示例:
var $txtName =$("#txtName"); 【jQuery对象】
var txtName =$txtName.get(0); 【DOM对象】
console.log(txtName.innerHTML);
【不建议频繁的相互转化】