试图隐藏一个不存在的元素
获得未完全加载的图像的大小 (2)隐藏/显示元素$(selector).hide(speed,callback);$(selector).show(speed,callback);可选的 speed 参数规定隐藏/显示的速度,值:"slow"、"fast" 或毫秒。
可选的 callback 参数是隐藏或显示完成后所执行的函数名称。 (3)显示被隐藏的元素,并隐藏已显示的元素:$(selector).toggle(speed,callback);用来切换 hide() 和 show() 方法。$("button").click(function(){
$("p").toggle();});(4)淡入淡出
$(selector).fadeIn(speed,callback);$("button").click(function(){
$("#div1").fadeIn(); $("#div2").fadeIn("slow"); $("#div3").fadeIn(3000);}); $(selector).fadeOut(speed,callback);$("button").click(function(){
$("#div1").fadeOut(); $("#div2").fadeOut("slow"); $("#div3").fadeOut(3000);}); $(selector).fadeToggle(speed,callback);$("button").click(function(){
$("#div1").fadeToggle(); $("#div2").fadeToggle("slow"); $("#div3").fadeToggle(3000);}); $(selector).fadeTo(speed,opacity,callback);opacity 参数将淡入淡出效果设置为给定的不透明度(值介于 0 与 1 之间)。$("button").click(function(){
$("#div1").fadeTo("slow",0.15); $("#div2").fadeTo("slow",0.4); $("#div3").fadeTo("slow",0.7);}); (5)滑动[使元素上下滑动]示例
<div class="panel">
<p>W3School - 领先的 Web 技术教程站点</p></div><p class="flip">请点击这里</p>被隐藏的元素向下滑动[显示div]
$(selector).slideDown(speed,callback);$("#flip").click(function(){
$("#panel").slideDown();});被隐藏的元素向上滑动[隐藏div]
$(selector).slideUp(speed,callback);$("#flip").click(function(){
$("#panel").slideUp();});上下滑动[显示/隐藏div]
$(selector).slideToggle(speed,callback);$("#flip").click(function(){
$("#panel").slideToggle();}); (6)动画$(selector).animate({params},speed,callback);必需的 params 参数定义形成动画的 CSS 属性。可选的 speed 参数规定效果的时长。值:"slow"、"fast" 或毫秒。可选的 callback 参数是动画完成后所执行的函数名称。实例
首先把div元素的 CSS position 属性设置为 relative、fixed 或 absolute再把div元素移动到左边,直到 left 属性等于 250 像素为止,同时可以设置其他属性。$("button").click(function(){ $("div").animate({ left:'250px', opacity:'0.5', height:'150px', width:'150px' });});把 <div> 元素移动到右边,然后增加文本的字号
$("button").click(function(){ var div=$("div"); div.animate({left:'100px'},"slow"); div.animate({fontSize:'3em'},"slow");});停止动画效果
$(selector).stop(stopAll,goToEnd); (7)callback参数$(selector).hide(speed,callback);$("p").hide(1000,function(){
alert("The paragraph is now hidden");}); (8)Chaining链接技术,允许我们在相同的元素上运行多条 jQuery 命令,一条接着另一条。这样的话,浏览器就不必多次查找相同的元素。如需链接一个动作,您只需简单地把该动作追加到之前的动作上。"p1" 元素首先会变为红色,然后向上滑动,然后向下滑动:
$("#p1").css("color","red").slideUp(2000).slideDown(2000);提示:当进行链接时,代码行会变得很差。
(9)获得元素内容和属性获得内容 - text()、html() 以及 val()
<p id="test">this is <B>a</B> test.</p>
$("#btn1").click(function(){
alert("Text: " + $("#test").text());});输出:this is a test.$("#btn2").click(function(){
alert("HTML: " + $("#test").html());});输出:this is <B>a</B> test.<input type="text" id="test" value="123456">
$("#btn1").click(function(){
alert("Value: " + $("#test").val());});输出:123456
获取属性 - attr()<a href="#" id="test">$("button").click(function(){
alert($("#test").attr("href"));});输出:#
(9)设置元素内容和属性
$("#btn1").click(function(){
$("#test1").text("Hello world!");});$("#btn2").click(function(){
$("#test2").html("<b>Hello world!</b>");});$("#btn3").click(function(){
$("#test3").val("Dolly Duck");});$("button").click(function(){
$("#test4").attr({ "href" : "", "title" : "W3School jQuery Tutorial" });}); 可以看出,和获取函数唯一的区别就是以上函数里面有参数,而获取时是没有参数的。
(10)添加新的 HTML 内容/元素
append() - 在被选元素的结尾插入内容
prepend() - 在被选元素的开头插入内容 after() - 在被选元素之后插入内容 before() - 在被选元素之前插入内容 (11)删除 HTML 元素移除元素:remove() - 删除被选元素及其子元素
清空元素子元素:empty() - 删除子元素,保留选中元素过滤被删除的元素:
$("p").remove(".italic") -删除 class="italic" 的所有 <p> 元素 (12)操作CSSaddClass() - 向被选元素添加一个或多个类
removeClass() - 从被选元素删除一个或多个类 toggleClass() - 对被选元素进行添加/删除类的切换操作 css() - 设置或返回样式属性样式表
.important{ font-weight:bold;font-size:xx-large;}.blue
{ color:blue;}例子
$("button").click(function(){
$("h1,h2,p").addClass("blue"); $("div").addClass("important blue");}); $("button").click(function(){ $("h1,h2,p").removeClass("blue");});$("button").click(function(){
$("h1,h2,p").toggleClass("blue");});(13) css() 方法
css() 方法设置或返回被选元素的一个或多个样式属性。设置
$("p").css("background-color","yellow");$("p").css({"background-color":"yellow","font-size":"200%"});
返回
$("p").css("background-color");$("p").css({"background-color","font-size"}); (14)尺寸width() 方法设置或返回元素的宽度(不包括内边距、边框或外边距)。height() 方法设置或返回元素的高度(不包括内边距、边框或外边距)。innerWidth() 方法返回元素的宽度(包括内边距)。
innerHeight() 方法返回元素的高度(包括内边距)。outerWidth() 方法返回元素的宽度(包括内边距和边框)。
outerHeight() 方法返回元素的高度(包括内边距和边框)。 outerWidth(true) 方法返回元素的宽度(包括内边距、边框和外边距)。outerHeight(true) 方法返回元素的高度(包括内边距、边框和外边距)。文档的尺寸
$(document).width();$(document).height();窗口[浏览器视窗]的尺寸
$(window).width();$(window).height();设置指定的 <div> 元素的宽度和高度:
$("button").click(function(){ $("#div1").width(500).height(500);}); (15)AJAXload():从服务器加载数据,并把返回的数据放入被选元素中。$(selector).load(URL,data,callback);必需的 URL 参数规定您希望加载的 URL。可选的 data 参数规定与请求一同发送的查询字符串键/值对集合。可选的 callback 参数是 load() 方法完成后所执行的函数名称。 $.get() 方法通过 HTTP GET 请求从服务器上请求数据。$.get(URL,callback);$("button").click(function(){
$.get("demo_test.asp",function(data,status){ alert("Data: " + data + "\nStatus: " + status); });});
$.post() 方法通过 HTTP POST 请求从服务器上请求数据。
$.post(URL,data,callback);$("button").click(function(){
$.post("demo_test_post.asp", { name:"Donald Duck", city:"Duckburg" }, function(data,status){ alert("Data: " + data + "\nStatus: " + status); });});jQuery AJAX 请求
$(selector).load(url,data,callback) 把远程数据加载到被选的元素中 $.ajax(options) 把远程数据加载到 XMLHttpRequest 对象中 $.get(url,data,callback,type) 使用 HTTP GET 来加载远程数据 $.post(url,data,callback,type) 使用 HTTP POST 来加载远程数据 $.getJSON(url,data,callback) 使用 HTTP GET 来加载远程 JSON 数据 $.getScript(url,callback) 加载并执行远程的 JavaScript 文件(url) 被加载的数据的 URL(地址)
(data) 发送到服务器的数据的键/值对象(callback) 当数据被加载时,所执行的函数(type) 被返回的数据的类型 (html,xml,json,jasonp,script,text)(options) 完整 AJAX 请求的所有键/值对选项示例
$.ajax(options)$(document).ready(function(){
$("#b01").click(function(){ htmlobj=$.ajax({url:"/jquery/test1.txt",async:false}); $("#myDiv").html(htmlobj.responseText); });}); (16)冲突jQuery 使用 $ 符号作为 jQuery 的简写。如果其他 JavaScript 框架也使用 $ 符号作为简写怎么办?这时:1)您可以通过全名替代简写的方式来使用jQuery
noConflict() 方法会释放会 $ 标识符的控制,这样其他脚本就可以使用它了。
$.noConflict();
jQuery(document).ready(function(){ jQuery("button").click(function(){ jQuery("p").text("jQuery 仍在运行!"); });});2)您可以创建自己的简写
var jq = $.noConflict();jq(document).ready(function(){ jq("button").click(function(){ jq("p").text("jQuery 仍在运行!"); });}); 3)把 $ 符号作为变量传递给 ready 方法如果你的jQuery代码块使用$简写,并且您不愿意改变这个快捷方式,那么您可以把$符号作为变量传递给ready方法。这样就可以在函数内使用$符号了。而在函数外,依旧不得不使用 "jQuery"
$.noConflict();
jQuery(document).ready(function($){ $("button").click(function(){ $("p").text("jQuery 仍在运行!"); });});