现在的位置: 首页 > 综合 > 正文

jQuery简单教程

2017年11月19日 ⁄ 综合 ⁄ 共 3719字 ⁄ 字号 评论关闭

一 . 了解jQuery

1 、Jquery定义 :

jQuery 是一个JavaScript 库,它有助于简化 JavaScript? 以及 Asynchronous JavaScript + XML (Ajax) 编程。与类似的 JavaScript 库不同,jQuery 具有独特的基本原理,可以简洁地表示常见的复杂代码。学习 jQuery 基本原理,探索其特性和功能,执行一些常见的 Ajax 任务并掌握如何使用插件扩展 jQuery。

2 、Jquery的出生 :

jQuery 由 John Resig 创建于 2006 年初,对于任何使用 JavaScript 代码的程序员来说,它是一个非常有用的 JavaScript 库

3 、Jquery的好处 :

jQuery 能帮助您保证代码简洁易读。您再也不必编写大堆重复的循环代码和 DOM 脚本库调用了。使用 jQuery,您可以把握问题的要点,并使用尽可能最少的代码实现您想要的功能

 备注 :jquery在批量处理方面有着非常强大的优势,以精简,易用独闯天涯。在与DOM库进行交互时,转换非常简单。不要相信它什么都能做的更好。

 

 

 

二 . 使用jQuery

1  、进行实例化

这是整个jQuery库中最为核心的一部分,所有的函数都必须先经过它,才可对库中的方法进行调度。$() 函数这就是jQuery的实例化操作函数,只有jquery对象才可运用库中的其他函数,否则将拒绝访问,提示错误。

返回值 :$(expr, context)) 函数返回一个含有所有与 CSS 选择器匹配的元素的 jQuery 对象

 

 

 示例介绍 :

示例 1 - 使用 jQuery的 ID选择器来进行实例化。

var elements = $("#myId");
 

以上代码,将获取到ID为myId的jquery对象 .相当于DOM中document.getElementById('myId'),不同点为,后者返回的是一个DOM对象

示例2 - 使用 jQuery 的标签选择器进行实例化

var elements = $("p");
 

以上代码,将获取整个DOM文档中所有标签为p的jquery对象,相当于DOM中的document.getElementsByTagName('p'),不同点为,后者返回多个标签为 p的DOM对象.

示例3 - 使用 jQuery 的css样式选择器进行实例化

var elements = $(".container");
 

 

以上返回的均为jQuery 对象 ,结构上类似于数组。因为它返回的是jquery对象,所以可以进行方法的链接使用。

 

2 、页面如何引用

在需要使用JQuery的页面中引入JQuery的js文件即可。

例如:<script type="text/javascript" src="js/jquery.js"></script>

具体的路径,可以根据实际情况,来对”src”进行改动。引入之后便可在页面的任意地方使用jQuery提供的语法。

3 、具体使用

   下面为本次讲解制作了4个示例。通过这几个示例,大家可以看到jquery的具体使用方法。基本熟悉常用的函数,以后,在页面效果的制作中,可以随心所欲 。 。。。

 

三 . 注意jQuery事项

1、关于页面元素的引用

通过jquery的$()引用元素包括通过id、class、元素名以及元素的层级关系及dom或者xpath条件等方法,且返回的对象为jquery对象(集合对象),不能直接调用dom定义的方法。

 

2、jQuery对象与dom对象的转换

只有jquery对象才能使用jquery定义的方法。注意dom对象和jquery对象是有区别的,调用方法时要注意操作的是dom对象还是jquery对象。

普通的dom对象一般可以通过$()转换成jquery对象。

如:$(document.getElementById("msg"))则为jquery对象,可以使用jquery的方法。

由于jquery对象本身是一个集合。所以如果jquery对象要转换为dom对象则必须取出其中的某一项,一般可通过索引取出。

如:$("#msg")[0],$("div").eq(1)[0],$("div").get()[1],$("td")[5]这些都是dom对象,可以使用dom中的方法,但不能再使用Jquery的方法。

以下几种写法都是正确的:

$("#msg").html(); 

$("#msg")[0].innerHTML;

$("#msg").eq(0)[0].innerHTML;

$("#msg").get(0).innerHTML;

 

3、如何获取jQuery集合的某一项

对于获取的元素集合,获取其中的某一项(通过索引指定)可以使用eq或get(n)方法或者索引号获取,要注意,eq返回的是jquery对象,而get(n)和索引返回的是dom元素对象。对于jquery对象只能使用jquery的方法,而dom对象只能使用dom的方法,如要获取第三个<div>元素的内容。有如下两种方法:

$("div").eq(2).html();    //调用jquery对象的方法

$("div").get(2).innerHTML;  //调用dom的方法属性

 

4、同一函数实现set和get

Jquery中的很多方法都是如此,主要包括如下几个:

$("#msg").html();    //返回id为msg的元素节点的html内容。

$("#msg").html("<b>new content</b>");

//将“<b>new content</b>” 作为html串写入id为msg的元素节点内容中,页面显示粗体的new content

$("#msg").text();    //返回id为msg的元素节点的文本内容。

$("#msg").text("<b>new content</b>"); 

//将“<b>new content</b>” 作为普通文本串写入id为msg的元素节点内容中,页面显示<b>new content</b>

$("#msg").height();    //返回id为msg的元素的高度

$("#msg").height("300");  //将id为msg的元素的高度设为300

$("#msg").width();    //返回id为msg的元素的宽度

$("#msg").width("300");  //将id为msg的元素的宽度设为300

$("input").val(");  //返回表单输入框的value值

$("input").val("test");  //将表单输入框的value值设为test

$("#msg").click();  //触发id为msg的元素的单击事件

$("#msg").click(fn);  //为id为msg的元素单击事件添加函数

同样blur,focus,select,submit事件都可以有着两种调用方法

 

5、集合处理功能

对于jquery返回的集合内容无需我们自己循环遍历并对每个对象分别做处理,jquery已经为我们提供的很方便的方法进行集合的处理。

包括两种形式:

$("p").each(function(i){this.style.color=['#f00','#0f0','#00f'][i]}) 

//为索引分别为0,1,2的p元素分别设定不同的字体颜色。

 

$("tr").each(function(i){this.style.backgroundColor=['#ccc','#fff'][i%2]}) 

//实现表格的隔行换色效果

 

$("p").click(function(){alert($(this).html())})   

//为每个p元素增加了click事件,单击某个p元素则弹出其内容

 

6、支持方法的连写

所谓连写,即可以对一个jquery对象连续调用各种不同的方法。

例如:

$("p").click(function(){alert($(this).html())})

.mouseover(function(){alert('mouse over event')})

.each(function(i){this.style.color=['#f00','#0f0','#00f'][i]});

 

7、操作元素的样式

主要包括以下几种方式:

$("#msg").css("background");    //返回元素的背景颜色

$("#msg").css("background","#ccc")  //设定元素背景为灰色

$("#msg").height(300); $("#msg").width("200");  //设定宽高

$("#msg").css({ color: "red", background: "blue" });//以名值对的形式设定样式

$("#msg").addClass("select");  //为元素增加名称为select的class

$("#msg").removeClass("select");  //删除元素名称为select的class

$("#msg").toggleClass("select");  //如果存在(不存在)就删除(添加)名称为select的class

抱歉!评论已关闭.