jQuery前端的进阶,更加方便对元素的操作。

一、jQuery概述

1.1 jQuery简介

jQuery是一个快速、简洁的JavaScript代码库。jQuery设计的宗旨是"“Write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript操作方式,优化HTML文档操作、事件处理、动画设计和Ajax交互。

jQuery的特点:

  • 具有独特的链式语法。
  • 支持高效灵活的CSS选择器。
  • 拥有丰富的插件。
  • 兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等。

1.2 什么是jQuery

  • 是一个JavaScript库
  • 是一个轻量级的“写的少,作的多”的JavaScript库

jQuery库包含以下功能

jQuery库包含以下函数
HTML 元素选取
HTML 元素操作
CSS 操作
HTML 事件函数
JavaScript 特效和动画
HTML DOM 遍历和修改
AJAX
Utilities

1.3 为什么要用jQuery

目前网络上有大星开源的JS框架,但是jQuery是目前最流行的JS框架,而且提供了大量的扩展。很多公司都在使用jQuery,例如:

  • Google
  • Microsoft
  • IBM
  • Netflix

二、jQuery安装

2.1 直接引用jQuery

可以通过多种方法在网页中添加jQuery。您可以使用以下方法:

  • 从jquery.com下载jQuery库
  • 从CDN中载入jQuery,如从Google 中加载jQuery有两个版本的jQuery可供下载
  • Production version -用于实际的网站中,已被精简和压缩
  • Development version -用于测试和开发(未压缩,是可读的代码)以上两个版本都可以从jquery.com中下载。
  • jQuery库是一个JavaScript文件,您可以使用HTML 的
<head>
<script src="jquery-1.12.2.min.js" ></script>
</head>

2.2 CDN引用

2.2.1 什么是CDN

CDN的全称是Content Delivery Network,即内容分发网络,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。

2.2.2 常见CDN

  • 百度CDN
  • 新浪CDN
  • Google CDN
  • Microsoft CDN

三、jQuery语法

3.1 基本使用

  • 匿名函数:表示页面 D O M 加载完成后,则执行,比 o n l o a d 时间执行早,并且可以写多个。 {匿名函数} :表示页面DOM加载完成后,则执行,比onload时间执行早, 并且可以写多个。 匿名函数:表示页面DOM加载完成后,则执行,比onload时间执行早,并且可以写多个。是jQuery函数的缩写

  • 基础语法:${select}.action{},jQuery语法是通过选取HTML元素,并对选取的元素执行某些操作。

  • -$(this).hide() -隐藏当前元素
  • -$(“p” ) .hide()-隐藏所有

    元素

  • -$(“p.test” ).hide()-隐藏所有class="test”的

    元素

  • -$ ( “#test” ).hide()-隐藏所有id="test”的元素

3.2 jQuery选择器

  • 元素选择器:jQuery元素选择器基于元素名选取元素。
/*在页面中选取所以的<p>元素*/
${document}.ready(function){
	${"button"}.click(function){
	${"p"}.hide;
	)};
)};
  • id 选择器:jQuery #id选择器通过HTML元素的id属性选取指定的元素。
/*页面中元素的id应该是唯一的,所以您要在页面中选取唯一的元素需要通过#id选择器。通过id选取元素语法如下:*/
$(document).ready(function(){
	$("button").click(function(){
	$("#test" ).hide();
	});
});
  • class 选择器:jQuery类选择器可以通过指定的class查找元素。
$(document).ready(function(){
	$("button").click(function(){
	$(".test").hide();
});
});

3.3 jQuery事件及常用事件方法

  • 什么是事件
    • 页面对不同访问者的响应叫做事件。
  • 事件处理程序指的是当HTML中发生某些事件时所调用的方法。
  • 实例:
    • 在元素上移动鼠标
    • 选取单选按钮
  • 点击元素:在事件中经常使用术语"触发”(或"激发")例如:“当您按下按键时触发 keypress事件”。

常见DOM事件:

鼠标事件键盘事件表单事件文档/窗口事件
clickkeypresssubmitload
dblclickkeydownchangeresize
mouseenterkeyupfocusscroll
mouseleaveblurunload

页面中添加一个点击事件。

${"p"}.click();

下一步是定义什么时间触发事件。您可以通过一个事件函数实现。

${"p"}.click(function(){
	//动作触发后执行的代码
})
  • 总结:也就是说,不传参数是点击,传递参数是设置事件。

常用的jQuery事件方法
$(document).ready()方法允许我们在文档完全加载完后执行函数。

click():当按钮点击事件被触发时会调用一个函数。

该函数在用户点击HTML元素时执行。

${"p"}.click(function(){
	$(this).hide();
});

dblclick():当双击元素时,会发生dblclick事件。
dblclick()方法触发dblclick事件,或规定当发生dblclick事件时运行的函数:

${"p"}.dblclick(function(){
	$(this).hide();
});

mouseenter():当鼠标指针穿过元素时,会发生mouseenter事件。
mouseenter()方法触发mouseenter事件,或规定当发生mouseenter事件时运行的函数:

${"#p1"}.mouseenter(function(){
	alert('您的鼠标在。。。上');
});

mouseleave():当鼠标指针离开元素时,会发生mouseleave事件。
mouseleave()方法触发mouseleave事件,或规定当发生mouseleave事件时运行的函数:

${"#p1"}.mouseleave(function(){
	alert('您的鼠标离开了。。。');
});

mousedown():当鼠标指针移动到元素上方,并按下鼠标按键时,会发生mousedown事件

mousedown()方法触发mousedown事件,或规定当发生mousedown事件时运行的函数:

${"#p1"}.mousedown(function(){
	alert('鼠标在该段按下');
});

mouseup():当在元素上松开鼠标按钮时,会发生mouseup事件。
mouseup()方法触发mouseup事件,或规定当发生mouseup事件时运行的函数:

${"#p1"}.mouseup(function(){
	alert('鼠标在。。上松开');
});

hover(): hover()方法用于模拟光标悬停事件。
当鼠标移动到元素上时,会触发指定的第一个函数(mouseenter);当鼠标移出这个元素时,会触发指定的第二个函数(mouseleave)。

${"#p1"}.hover(
	function(){
		alert('鼠标在。。悬浮');
},
	function(){
		alert('鼠标离开了。。。。');
	}
);

focus():当元素获得焦点时,发生focus事件。
当通过鼠标点击选中元素或通过tab键定位到元素时,该元素就会获得焦点。focus()方法触发focus事件,或规定当发生focus事件时运行的函数:

${"input"}.focus(function(){
	$(this).css("background-color","#cccccc");
});

blur():当元素失去焦点时,发生blur事件。
blur()方法触发blur事件,或规定当发生blur事件时运行的函数:

${"input"}.blur(function(){
	$(this).css("background-color","#cccccc");
});

四、jQuery效果

4.1 隐藏显示

hide():可以使用hide()将元素隐藏

${"#hide"}.click(function(){
	$("p").hide();
});

show():可以将元素显示

${"#show"}.click(functuion(){
	${"p"}.show();
});

toggle():通过jQuery,您可以使用toggle()方法来切换hide()和show()方法。

显示被隐藏的元素,并隐藏已显示的元素。

${"#show"}.click(functuion(){
	${"p"}.toggle();
});

这三个方法都是有参数的:

$(selector).hide(speed,callback);
$(selector).show(speed,callback);
$(selector).toggle(speed,callback);

可选的speed参数规定隐藏 / 显示的速度,可以取以下值:“slow”、"fast"或毫秒。

可选的callback参数是隐藏或显示完成后所执行的函数名称。

4.2 淡入淡出

通过jQuery,可以实现元素的淡入淡出的效果

jQuery拥有以下的几种 fade 方法:

  • fadeIn()
  • fadeOut()
  • fadeToggle()
  • fadeTo()

fadeIn()方法:用于淡入已经隐藏的元素。

${selector}.fadeIn(speed,callback);

fadeOut()方法:用于淡入可见元素。

${selector}.fadeOut(speed,callback);

fadeToggle()方法:可以在fadeIn()方法和fadeOut()方法之间切换

${selector}.fadeToggle(speed,callback);

fadeTo()方法:运行渐变为给定的不透明度(值介于0 与 1之间)

${selector}.fadeTo(speed,opacity,callback);

4.3 滑动

通过jQuery,可以实现元素上创建滑动的效果

jQuery拥有以下的几种滑动方法:

  • slideDown()
  • slideUp()
  • slideToggle()

slideDown()方法:用于向下滑动元素

${selector}.slideDown(speed,callback);

slideUp()方法:用于向上滑动元素

${selector}.slideUp(speed,callback);

slideToggle()方法可以在slideDown()与slideUp()方法之间进行切换。

如果元素向下滑动,则slideToggle()可向上滑动它们,如果元素向上滑动,则slideToggle()可向下滑动它们。

${selector}.slideToggle(speed,callback);

4.4 动画

animate()方法:用于创建自定义动画

${selector}.animate({params},speed,callback);

必需的params参数定义形成动画的CSS属性。
可选的speed参数规定效果的时长。它可以取以下值:“slow”、"fast"或毫秒。

可选的callback参数是动画完成后所执行的函数名称。

下面的例子演示animate()方法的简单应用。它把元素往右边移动了250像素:

${"button"}.click(function{
	${"div"}.animate({"left:'2'"});
});
  • 操作多个属性
  • 生成动画的过程可以同时使用多个属性
${"button"}.click(function(){
	${"div"}.animate({
		left:'250px',
		opacity:'0.5',
		heigth:'150px',
		width:'150px'
	});
});

可以用animate()方法来操作所有CSS属性吗?
是的,几乎可以!不过,需要记住一件重要的事情:当使用animatel)时,必须使用Camel标记法书写所有的属性名,比如,必须使用paddingLeft而不是padding-left,使用marginRight而不是margin-right,等等。
同时,色彩动画并不包含在核心jQuery库中。
如果需要生成颜色动画,您需要从jquery.com下载颜色动画插件。
也可以定义相对值(该值相对于元素的当前值)。需要在值的前面加上=或-=:

${"button"}.click(function(){
	${"div"}.animate({
		left:'250px',
		heigth:'+=150px',
		width:'+=150px'
	});
});

预定义的值:可以把属性动画值设置为:“show” “hide” “tollge”

${"button"}.click(function(){
	${"div"}.animate({
		heigth:'toggle'
	});
});

使用队列功能:默认地,jQuery提供针对动画的队列功能。
这意味着如果您在彼此之后编写多个animate()调用,jQuery会创建包含这些方法调用的"内部“"队列。然后逐一运行这些animate调用。

$("button").click(function(){
	var div=$("div");
	div.animate({height:'300px',opacity:'0.4'},"slow");
	div.animate({width:'300px',opacity:'0.8'},"slow");
	div.animate({height:'100px',opacity:'0.4'},"slow");
	div.animate({width:'100px',opacity:0.8'},"slow");
});

下面是元素向右移动了100像素,然后增加文本的字号:

$("button").click(function(){
	var div=$("div");
	div.animate({left:'100px'},"slow");
	div.animate({fontSize:'300px'},"slow");
});

4.5 停止动画

stop()用于停止动画或效果,在他们完成前。----适用于所以jQuery效果函数,包括滑动,淡入淡出和自定义动画

${selector}.stop(stopAll,goToEnd);

可选的 stop All参数规定是否应该清除动画队列。默认是false,即仅停止活动的动画,允许任何排入队列的动画向后执

可选的goToEnd参数规定是否立即完成当前动画。默认是false。
因此,默认地,stop()会清除在被选元素上指定的当前动画。

下面的例子演示stop()方法,不带参数:

${"#stop"}.click(function(){
	${"p"}.stop();
});

4.6 Callback

许多jQuery函数涉及动画。这些函数也许会将 speed 或 duration作为可选参数。

例子:S(“p”).hide(“slow”)
speed* 或 duration 参数可以设置许多不同的值,比如 “slow” , “fast”, "normal"或毫秒。

$("button").click(function(){
	$("p").hide("slow",function(){
		alert(“段落现在被隐藏了");
	});
});

以下这个实例没有回调函数,警告框会在隐藏效果前弹出:

$("button").click(function(){
	$("p").hide("slow")
	alert(“段落现在被隐藏了");
});

4.7 链式编程

到现在我们写jQuery语句都是写一条的,有链式的技术允许我们在相同的元素上运行多条jQuery命令。

如需链接一个动作只需要将新的该动作链接到以前的动作上,如以下:

${"#p1"}.css("color","red").slideUp(2000).slideDown(2000);

进行链接时,代码的运行会变的很差。可以利用换行或缩进来书写

${"#p1"}.css("color","red")
	.slideUp(2000)
	.slideDown(2000);

五、jQuery DOM操作【重点】

5.1 捕获

jQuery 拥有可操作 HTML 元素和属性的强大方法。

jQuery中非常重要的部分,就是操作 DOM的能力。

jQuery提供一系列与DOM相关的方法,这使访问和操作元素和属性变得很容易。

三个简单实用的用于DOM操作的jQuery方法:

  • text()-设置或返回所选元素的文本内容
  • html()-设置或返回所选元素的内容(包括HTML 标记)
  • val()-设置或返回表单字段的

下面的例子演示如何通过jQuery text()和html()方法来获得内容:

$("#btn1").click(function(){
	alert("Text: "+$("#test" ).text());
});
$("#btn2").click(function(){
	alert("HTML: "+$("#test" ).htm1());
});
$("#btn1").click(function(){
	alert("值为: "+$("#test").val());
});

获取属性 -attr()

jQuery attt()方法用于获取属性值

下面的例子演示如何获得链接中 href 属性的值

$("button").click(function(){
	alert("#a1").alert("href"));
});

5.2 设置

我们将使用前一章中的三个相同的方法来设置内容:

text()-设置或返回所选元素的文本内容

html()-设置或返回所选元素的内容(包括HTML标记)

val()-设置或返回表单字段的值

下面的例子演示如何通过text()、html()以及val()方法来设置内容:

${"#btn1"}.click(function(){
	${"#test1"}.text("hello world!")
});
${"#btn2"}.click(function(){
	${"#test2"}.html("<b>hello world!</b>")
});
${"#btn3"}.click(function(){
	${"#test3"}.val("hello world!")
});

下面例子演示带有回调函数的text()和html():

${"#btn1"}.click(function(){
	${"#test1"}.text(function(i,origText){
		return "旧文本 "+ origText + "新文本:hello world! (index: "+ i +");
	});
});
${"#btn2"}.click(function(){
	${"#test2"}.html(function(i,origText){
		return "旧文本 "+ origText + "新文本:hello <b>world!</b> (index: "+ i +");
	});
});

jQuery arrt() 方法也用于设置 / 改变属性值。

${"button"}.click(function(){
	${"#font1"}.attr("colo")
});

5.3 添加元素

用于添加心新内容的四个jQuery方法

  • append() 方法:在被选元素的结尾插入内容
  • prepend()-在被选元素的开头插入内容
  • after()-在被选元素之后插入内容
  • before()-在被选元素之前插入内容

jQuery append()方法在被选元素的结尾插入内容。

$("p").append("追加文本")

jQuery prepend()方法在被选元素的开头插入内容。

$("p").prepend("v文本")

在下面的例子中通过text / HTML,jQuery或者JavaScript / DOM来创建,再通过append() 方法追加到文本中。

function appendText(){
	var txt1 = "<p>文本。</p>";  //使用 HTML 标签创建文本
	var txt2 = ${"<p></p>"}.text("文本。");  //  使用jQuery 创建文本
	var txt3 = document.creatElement("p");  
	txt3.innerHTML = "文本。";  //  使用 DOM 创建文本 text with DOM
	${"body"}.append(txt1,txt2,txt3);  //追加新元素
}

jQuery after() 在被添加元素之后插入内容

jQuery before() 在被添加元素之前插入内容

${"img"}.after("在后面添加文本");
${"img"}.before("在前面添加文本");

after()和 before()方法能够通过参数接收无限数量的新元素。可以通过text/HTML、jQuery或者JavaScript/DOM来创建新元素。

元素可以通过text/HTML、 jQuery 或者JavaScript/DOM来创建。然后我们通过after()方法把这些新元素插到文本中(对before()同样有效)︰

function afterText(){
	var txt1="<b>I</b>";	//使用HTML创建元素
	var txt2=$("<i></i>").text("love");	//使用 jQuery 创建元素
	var txt3=document.createElement("big");	// 使用DOM 创建元素
	txt3.innerHTML="jQuery! ";
	$("img").after(txt1,txt2,txt3);	//在图片后添加文本
}

5.4 删除元素

删除元素一般有下面两种方法jQuery方法

remove():删除被选元素及其子元素

empty():从被选元素中删除子元素

$("div").remove();
$("div").empty();

jQuery remove()方法可以添加个参数来对删除的内容进行过滤,该参数可以是jQuery选择。

下列例子是删除class="italic"的所有元素:

${"p"}.raemove(".italic");

5.5 CSS类

jQuery拥有若干进行CSS操作的方法。我们将学习下面这些:

addClass()-向被选元素添加一个或多个类
removeClass()-从被选元素删除一个或多个类
toggleClass()-对被选元素进行添加/删除类的切换操作o css()-设置或返回样式属性
下面的样式表将用于本页的所有例子:

.import
{
	font-weigth:bold;
	font-size:xx-large;
}
.blue
{
	color:blue;
}

下面的例子展示向不同的元素中添加 class 属性。

$("button").click(function(){
	$("h1,h2,p").addClass("blue");
	$("div").addClass("important");
});

也可以在 addClass()方法中规定多个类:

$("button").click(function(){
	$("body div:first").addClass("important blue") ;
});

下面的例子演示在不同的元素中删除指定的 class 属性

$("button").click(function(){
	$("h1,h2,p").addClass("blue");
});

下面展示如何使用 jQuery toggleClass()方法。该方法对被选元素进行添加 / 删除类的切换操作。

${"button"}.click(function(){
	$("h1,h2,p").toggleClass("blue");
});

5.6 CSS()方法

css()方法设置或返回被选元素的一个或多个样式属性。

如需返回指定的CSS属性的值,请使用如下语法:

css.("propertyname");

下面例子将返回收个匹配元素的 background-color值

s("p").css("background-color");

如需设置指定的CSS属性,请使用如下语法:

css("propertyname" , "value");

下面的例子将为所有匹配元素设置background-color值:

$("p").css("background-color", "yellow" );

如需设置多个CSS属性,请使用如下语法:

css({"propertyname":"value","propertyname":"value",.. .});

下面的例子将为所有匹配元素设置background-color和font-size:

$("p").css({"background-color":"yellow","font-size":"200%"});

5.7 尺寸

  • jQuery 提供多个处理尺寸的重要方法

显示

width() :设置或返回元素的宽度(不包括内边距、边框或外边距)

height():设置或返回元素的高度(不包括内边距、边框或外边距)

innerwodth():返回元素的宽度(包括内边距)

innerheight():返回元素的高度(包括内边距)

outerwidth():返回元素的宽度(包括内边距和边框)

outerheight():返回元素的高度(包括内边距和边框)

六、jQuery遍历

6.1 遍历

jQuery遍历,意为"移动",用于根据其相对于其他元素的关系来"查找”(或选取)HTML元素。以某项选择开始,并沿着这个选择移动,直到抵达您期望的元素为止。
下图展示了一个家族树。通过jQuery遍历,您能够从被选(当前的)元素开始,轻松地在家族树中向上移动〈祖先),向下移动(子孙),水平移动(同胞)。这种移动被称为对 DOM进行遍历。

6.2 祖先jQuery parent()方法

parent() 方法返回被选中元素的直接父元素

该方法只会向上一级对DOM树进行遍历

下面返回每个span元素的直接父元素

$(document).ready(function(){
	$("span").parent();
)};

parents()方法返回所以被选中元素的所以祖先元素,它一路向上知道文档的根元素(html)

下面例子返回所有span元素的所有祖先

$(document).ready(function(){
	$("span").parents();
});

也可以使用可选参数来过滤对祖先元素的搜索

下面例子返回所有span元素的所有祖先,并且他是 url 元素

$(document).ready(function(){
	$("span").parents("url");
});

parentsUtil() 方法返回介于两个给定元素之间的所有祖先元素

下面例子返回所有介于span和div元素之间的所有祖先元素

$(document).ready(function(){
	$("span").parentsUtil("div");
});

6.3 后代jQuery children()方法

children()方法返回被选元素的所有直接子元素。

该方法只会向下一级对DOM树进行遍历。
下面的例子返回每个div元素的所有直接子元素:

$(document).ready(function(){
	$("div").children();
});

也可以使用可选参数来过滤对子元素的搜索。
下面的例子返回类名为"a"的所有p元素,并且它们是div的直接子元素:

$(document).ready(function(){
	$("div").children("p.a");
});

find()方法返回被选元素的后代元素,一路向下直到最后一个后代。

下面的例子返回属于div后代的所有span元素:

$(document).ready(function(){
	$("div").find("span");
});

下面的例子返回属于div的所有后代:

$(document).ready(function(){
	$("div").find("*");
});

6.4 同胞jQuery siblings()方法

siblings()方法返回被选元素的所有同胞元素。

下面的例子返回h2的所有同胞元素:

$(document).ready(function(){
	$("h2").siblings();
});

也可以使用可选参数来过滤同胞元素的搜索

下面的例子返回h2的所有同胞元素的所有p元素:

$(document).ready(function(){
	$("h2").siblings("p");
});

next()方法返回被选元素的下一个同胞元素。

该方法只返回一个元素。
下面的例子返回h2的下一个同胞元素:

$(document).ready(function(){
	$("h2").next();
});

nextAll()方法返回被选元素的所有跟随的同胞元素。

下面的例子返回h2的所有跟随的同胞元素:

$(document).ready(function(){
	$("h2").nextAll();
});

nextUntil()方法返回介于两个给定参数之间的所有跟随的同胞元素。

下面的例子返回介于h2与h6元素之间的所有同胞元素:

$(document).ready(function(){
	$("h2").nextUntil("h6");
});

prev()方法取得一个包含匹配的元素集合中每一个元素。

紧邻的前一个同辈元素的元素集合下面的例子返回h2的下一个同胞元素

$(document).ready(function(){
	$("h2").prev();
});

prevAll()方法查找当前元素之前所有的同辈元素
prevUntil()方法查找当前元素之前所有的同辈元素,直到遇到匹配的那个元素为止

##6.5 过滤jQuery first()方法

first()方法返回被选元素的首个元素。
下面的例子选取首个div元素内部的第一个p元素:

$(document).ready(function(){
	$("div p").first();
});

last()方法返回被选元素的最后一个元素。
下面的例子选择最后一个div元素中的最后一个p元素:

$(document).ready(function(){
	$("div p").last();
});

eq()方法返回被选元素中带有指定索引号的元素。
索引号从0开始,因此首个元素的索引号是0而不是1。下面的例子选取第二个p元素(索引号1)∶

$(document).ready(function(){
	$("p").eq(1);
});

filter()方法允许您规定一个标准。不匹配这个标准的元素会被从集合中删除,匹配的元素会被返回。

下面的例子返回带有类名"url"的所有p元素:

$(document).ready(function(){
	$("p").filter("url");
});

七、jQuery AJAX

7.1 jQuery方法

AJAX = 异步JavaScript和XML (Asynchronous JavaScript and XML)。
简短地说,在不重载整个网页的情况下,AJAX通过后台加载数据,并在网页上进行显示。

7.1 get和post方法

$.get( )方法通过HTTP GET从服务器上请求数据

$.get(URL,callback);

必需的URL参数规定您希望请求的URL。
可选的callback参数是请求成功后所执行的函数名。
下面的例子使用$.get()方法从服务器上的一个文件中取回数据:

$("button").click(function(){
	$.get("demo_test_.php",function(){
		alert("数据:"+data)
	});
});

$.post()方法通过HTTP POST 请求从服务器上请求数据。

S.post( URL,data,callback );

必需的 URL参数规定您希望请求的URL。

可选的data参数规定连同请求发送的数据。

可选的callback参数是请求成功后所执行的函数名。

下面的例子使用$.post()连同请求一起发送数据:

$("button").click(function(){
	$.post("/try/ajax/demo_test_psot.jsp",
	{
		name:"百度",
		url:"http://www.baidu.com"
	},
		function(data){
		alert("数据:\n"+data);
	)};
});

7.3 ajax()方法

jQuery 底层AJAX实现。简单易用的高层实现见.get,post等。 . a j a x ( ) 返回其创建的 X M L H t t p R e q u e s t 对象。大多数情况下你无需直接操作该函数,除非你需要操作不常用的选项,以获得更多的灵活性。最简单的情况下, .ajax()返回其创建的XMLHttpRequest对象。大多数情况下你无需直接操作该函数,除非你需要操作不常用的选项,以获得更多的灵活性。 最简单的情况下, .ajax()返回其创建的XMLHttpRequest对象。大多数情况下你无需直接操作该函数,除非你需要操作不常用的选项,以获得更多的灵活性。最简单的情况下,.ajax()可以不带任何参数直接使用。

八、其他

8.1 jQuery noConflict方法

正如您已经了解到的,jQuery使用 符号作为 j Q u e r y 的简写。如果其他 J a v a S c r i p t 框架也使用 符号作为jQuery的简写。 如果其他 JavaScript框架也使用 符号作为jQuery的简写。如果其他JavaScript框架也使用符号作为简写怎么办?
其他一些JavaScript框架包括:MooTools、Backbone、Sammy、Cappuccino、Knockout、JavaScript MVC、Google Web Toolkit、Google Closure、Ember、Batman以及Ext JS。
其中某些框架也使用 符号作为简写 ( 就像 j Q u e r y ) ,如果您在用的两种不同的框架正在使用相同的简写符号,有可能导致脚本停止运行。 j Q u e r y 的团队考虑到了这个问题 , 并实现了 n o C o n f l i c t ( ) 方法。 n o C o n f l i c t ( ) 方法会释放对 符号作为简写(就像jQuery),如果您在用的两种不同的框架正在使用相同的简写符号,有可能导致脚本停止运行。 jQuery的团队考虑到了这个问题,并实现了noConflict()方法。 noConflict()方法会释放对 符号作为简写(就像jQuery),如果您在用的两种不同的框架正在使用相同的简写符号,有可能导致脚本停止运行。jQuery的团队考虑到了这个问题,并实现了noConflict()方法。noConflict()方法会释放对标识符的控制,这样其他脚本就可以使用它了。

当然,您仍然可以通过全名替代简写的方式来使用jQuery:

$.noConfilict();
juery(document).ready(function(){
	jQuery("button").click(function(){
		jQuery("p").text("jQuery 仍在工作");
	});
});

也可以创建自己的简写。noConflict()可返回对jQuery 的引用,您可以把它存入变量,以供稍后使用。请看这个例

var jq = $.noConflict();
jq(document).ready(function(){
	jq("button" ).click(function(){
		jq("p" ).text( "jQuery 仍然在工作!");
	});
});

如果jQuery代码块使用简写,并且不愿意改变这个快捷方式,那么可以把符号作为变量传递给ready方法。这样就可以在函数内使用$符号了,而在函数外,依旧不得不使用"jQuery":

$.noConflict();
jQuery( document).ready(function($){
	$("button" ).click(function(){
		$("p").text("jQuery 仍然在工作!");
	});
});
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值