一、简介
优秀的Js框架,使页面上控制文档、处理事件、实现特效、添加Ajax交互更简单快速。
二、使用方法
在需要用到jQuery的地方引入jQuery相应版本的开发包。
HTML代码:
<script. type="text/javascript" src="js/jquery.js"></script>
jQuery针对不同的功能还有很多的包,可以按需要逐个添加。
推荐两篇不错的jquery教程:《jQuery的起点教程》和《使用 jQuery 简化 Ajax 开发》
三、语法总结与注意事项
1、页面元素引用
jQuery的$()操作符可以通过id、class、元素名、元素层次关系、dom等等方式来快捷访问页面元素,而且返回的都是jQuery对象,不能直接调用dom定义的方法。
2、dom对象与jQuery对象的互换
jQuery对象与dom对象的操作使有区别的,操作时要注意!普通的dom对象一般可以用$()转换为jQuery对象。
eg:
$(document.getElementById("msg"))
因为jQuery对象是一个集合。所以jQuery对象要转换为dom对象则必须取出其中的某一项,一般时通过索引来达到目的的!
eg:
$("#msg")[0], $("div").eq(1)[0], $("div").get()[1]
3、获得jQuery对象集合中的某一项
如上面的例子,获得某一项可以采用索引、eq()、get()三种方法,要注意的时eq()返回的时jQury对象,get()和索引返回的是dom对象。
4、多种实现set()、get()的函数
eg:
- $("#msg").html();
- $("#msg").html("<b>new content</b>");
-
-
- $("#msg").text();
- $("#msg").text("<b>new content</b>");
-
-
- $("#msg").height();
- $("#msg").height("300");
- $("#msg").width();
- $("#msg").width("300");
-
- $("input").val(");
- $("input").val("test");
-
- $("#msg").click();
- $("#msg").click(fn);
5、集合处理功能
对jQuery返回的对象集合无需逐个处理。
eg
- $("p").each(function(i){this.style.color=['#f00','#0f0','#00f'][i]})
-
-
- $("tr").each(function(i){this.style.backgroundColor=['#ccc','#fff'][i%2]})
-
-
- $("p").click(function(){alert($(this).html())})
6、扩展我们需要的功能
eg:
定义自己的方法
- $.extend({
- min: function(a, b){return a < b?a:b; },
- max: function(a, b){return a > b?a:b; }
- });
调用自己的方法
alert("a=10,b=20,max="+$.max(10,20)+",min="+$.min(10,20));
7、方法连写
eg:
- $("p").click(function(){alert($(this).html())})
- .mouseover(function(){alert('mouse over event')})
- .each(function(i){this.style.color=['#f00','#0f0','#00f'][i]});
8、操作元素的样式
eg:
- $("#msg").css("background");
- $("#msg").css("background","#ccc")
- $("#msg").height(300); $("#msg").width("200");
- $("#msg").css({ color: "red", background: "blue" });
- $("#msg").addClass("select");
- $("#msg").removeClass("select");
- $("#msg").toggleClass("select");
9、事件处理
jquery可以动态为html元素添加事件。
eg:
- $("#msg").click(function(){alert("good")})
- $("p").click(function(i){this.style.color=['#f00','#0f0','#00f'][i]})
-