jQuery入门 jQuery 是一个 JavaScript 库。
jQuery 极大地简化了 JavaScript 编程。
jQuery 很容易学习。
下载jQuery 共有两个版本的 jQuery 可供下载:一份是精简过的,另一份是未压缩的(供调试或阅读)。
这两个版本都可从 jQuery.com 下载。
<head > <script src ="/home/ltb/jquery-3.4.1.min.js" > </script > </head >
jQuery语法 通过 jQuery,您可以选取(查询,query) HTML 元素,并对它们执行“操作”(actions)。
jQuery 语法是为 HTML 元素的选取编制的,可以对元素执行某些操作。
基础语法是:$(selector).action()
美元符号定义 jQuery
选择符(selector)“查询”和“查找” HTML 元素
jQuery 的 action() 执行对元素的操作
文档就绪函数
您也许已经注意到在我们的实例中的所有 jQuery 函数位于一个 document ready 函数中:
$(ducument).ready(function ( ) { --- jQuery functions go here ---- })
这是为了防止文档在完全加载(就绪)之前运行 jQuery 代码。
如果在文档没有完全加载之前就运行函数,操作可能失败。
jQuery选择器 选择器允许您对元素组或单个元素进行操作。
jQuery 元素选择器和属性选择器允许您通过标签名、属性名或内容对 HTML 元素进行选择。
jQuery 元素选择器
jQuery 使用 CSS 选择器来选取 HTML 元素。
$(“p”) 选取 ``` 元素。 $("p.intro") 选取所有 class="intro" 的 ```<p>``` 元素。 $("p#demo") 选取所有 id="demo" 的``` <p>``` 元素。 **jQuery 属性选择器** jQuery 使用 XPath 表达式来选择带有给定属性的元素。 $("[href]") 选取所有带有 href 属性的元素。 $("[href='#']") 选取所有带有 href 值等于 "#" 的元素。 $("[href!='#']") 选取所有带有 href 值不等于 "#" 的元素。 $("[href$='.jpg']") 选取所有 href 值以 ".jpg" 结尾的元素。 ```javascript <script type="text/javascript" src="/jquery/jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("button").click(function(){ $("p").css("background-color","red"); }); }); </script>
jQuery事件 jQuery 事件处理方法是 jQuery 中的核心函数。
事件处理程序指的是当 HTML 中发生某些事件时所调用的方法。术语由事件“触发”(或“激发”)经常会被使用。
jQuery hide/show <!DOCTYPE html> <html lang ="en" > <head > <meta charset ="UTF-8" > <title > jQuery-test2</title > <script src ="/home/ltb/jquery-3.4.1.min.js" > </script > <script > $(document ).ready(function ( ) { $("#hide" ).click(function ( ) { $("p" ).hide(); }) $("#show" ).click(function ( ) { $("p" ).show(); }) }) </script > </head > <body > <p id ="p1" > 如果点击“隐藏”按钮,我就会消失。</p > <button id ="hide" type ="button" > 隐藏</button > <button id ="show" type ="button" > 显示</button > </body > </html >
<!DOCTYPE html> <html lang ="en" > <head > <meta charset ="UTF-8" > <title > jQuery-test3</title > <script src ="/home/ltb/jquery-3.4.1.min.js" > </script > <script > $(document ).ready(function ( ) { $("button" ).click(function ( ) { $("p" ).toggle(); }); }); </script > </head > <body > <button type ="button" > 切换</button > <p > 这是一个段落。</p > <p > 这是另一个段落。</p > </body > </html >
jQuery淡入淡出 <!DOCTYPE html> <html lang ="en" > <head > <meta charset ="UTF-8" > <title > jQuery-test4</title > <script src ="/home/ltb/jquery-3.4.1.min.js" > </script > <script > $(document ).ready(function ( ) { $("button" ).click(function ( ) { $("div#div1" ).fadeIn(); $("div#div2" ).fadeIn("slow" ); $("div#div3" ).fadeIn(3000 ); }); }); </script > </head > <body > <p > 演示带有不同参数的 fadeIn() 方法。</p > <button > 点击这里,使三个矩形淡入</button > <br > <br > <div id ="div1" style ="width:80px;height:80px;display:none;background-color:red;" > </div > <br > <div id ="div2" style ="width:80px;height:80px;display:none;background-color:green;" > </div > <br > <div id ="div3" style ="width:80px;height:80px;display:none;background-color:blue;" > </div > </body > </html >
$(selector).fadeOut(speed,callback);
$(selector).fadeToggle(speed,callback);
$(selector).fadeTo(speed,opacity,callback);
jQuery滑动 $(selector).slideDown(speed,callback); $(selector).slideUp(speed,callback); $(selector).slideToggle(speed,callback);
jQuery动画 <!DOCTYPE html> <html lang ="en" > <head > <meta charset ="UTF-8" > <title > jQuery-test5</title > <script src ="/home/ltb/jquery-3.4.1.min.js" > </script > <script > $(document ).ready(function ( ) { $("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" ); }); }); </script > </head > <body > <button > 开始动画</button > <p > 默认情况下,所有 HTML 元素的位置都是静态的,并且无法移动。如需对位置进行操作,记得首先把元素的 CSS position 属性设置为 relative、fixed 或 absolute。</p > <div style ="background:#98bf21;height:100px;width:100px;position:absolute;" > </div > </body > </html >
jQuery stop jQuery stop() 方法用于停止动画或效果,在它们完成之前。
stop() 方法适用于所有 jQuery 效果函数,包括滑动、淡入淡出和自定义动画。
$(selector).stop(stopAll,goToEnd);
<!DOCTYPE html> <html > <head > <script src ="/jquery/jquery-1.11.1.min.js" > </script > <script > $(document ).ready(function ( ) { $("#flip" ).click(function ( ) { $("#panel" ).slideDown(5000 ); }); $("#stop" ).click(function ( ) { $("#panel" ).stop(); }); }); </script > <style type ="text/css" > #panel,#flip { padding:5px; text-align:center; background-color:#e5eecc; border:solid 1px #c3c3c3; } #panel { padding:50px; display:none; } </style > </head > <body > <button id ="stop" > 停止滑动</button > <div id ="flip" > 点击这里,向下滑动面板</div > <div id ="panel" > Hello world!</div > </body > </html >
jQuery Callback Callback 函数在当前动画 100% 完成之后执行。
由于 JavaScript 语句(指令)是逐一执行的 - 按照次序,动画之后的语句可能会产生错误或页面冲突,因为动画还没有完成。
为了避免这个情况,您可以以参数的形式添加 Callback 函数。
<html > <head > <script type ="text/javascript" src ="/jquery/jquery.js" > </script > <script type ="text/javascript" > $(document ).ready(function ( ) { $("button" ).click(function ( ) { $("p" ).hide(1000 ,function ( ) { alert("The paragraph is now hidden" ); }); }); }); </script > </head > <body > <button type ="button" > Hide</button > <p > This is a paragraph with little content.</p > </body > </html >
jQuery Chaining 直到现在,我们都是一次写一条 jQuery 语句(一条接着另一条)。
不过,有一种名为链接(chaining)的技术,允许我们在相同的元素上运行多条 jQuery 命令,一条接着另一条。
<!DOCTYPE html> <html > <head > <script src ="/jquery/jquery-1.11.1.min.js" > </script > <script > $(document ).ready(function ( ) { $("button" ).click(function ( ) { $("#p1" ).css("color" ,"red" ).slideUp(2000 ).slideDown(2000 ); }); }); </script > </head > <body > <p id ="p1" > jQuery 乐趣十足!</p > <button > 点击这里</button > </body > </html >
jQuery HTML jQuery DOM 操作
jQuery 中非常重要的部分,就是操作 DOM 的能力。
jQuery 提供一系列与 DOM 相关的方法,这使访问和操作元素和属性变得很容易。
<!DOCTYPE html> <html > <head > <script src ="/jquery/jquery-1.11.1.min.js" > </script > <script > $(document ).ready(function ( ) { $("#btn1" ).click(function ( ) { alert("Text: " + $("#test" ).text()); }); $("#btn2" ).click(function ( ) { alert("HTML: " + $("#test" ).html()); }); }); </script > </head > <body > <p id ="test" > 这是段落中的<b > 粗体</b > 文本。</p > <button id ="btn1" > 显示文本</button > <button id ="btn2" > 显示 HTML</button > </body > </html >
<!DOCTYPE html> <html > <head > <script src ="/jquery/jquery-1.11.1.min.js" > </script > <script > $(document ).ready(function ( ) { $("#btn1" ).click(function ( ) { $("#test1" ).text("Hello world!" ); }); $("#btn2" ).click(function ( ) { $("#test2" ).html("<b>Hello world!</b>" ); }); $("#btn3" ).click(function ( ) { $("#test3" ).val("Dolly Duck" ); }); }); </script > </head > <body > <p id ="test1" > 这是段落。</p > <p id ="test2" > 这是另一个段落。</p > <p > Input field: <input type ="text" id ="test3" value ="Mickey Mouse" > </p > <button id ="btn1" > 设置文本</button > <button id ="btn2" > 设置 HTML</button > <button id ="btn3" > 设置值</button > </body > </html >
<!DOCTYPE html> <html > <head > <script src ="/jquery/jquery-1.11.1.min.js" > </script > <script > $(document ).ready(function ( ) { $("button" ).click(function ( ) { $("h1,h2,p" ).addClass("blue" ); $("div" ).addClass("important" ); }); }); </script > <style type ="text/css" > .important { font-weight:bold; font-size:xx-large; } .blue { color:blue; } </style > </head > <body > <h1 > 标题 1</h1 > <h2 > 标题 2</h2 > <p > 这是一个段落。</p > <p > 这是另一个段落。</p > <div > 这是非常重要的文本!</div > <br > <button > 向元素添加类</button > </body > </html >
<!DOCTYPE html> <html > <head > <script src ="/jquery/jquery-1.11.1.min.js" > </script > <script > $(document ).ready(function ( ) { $("button" ).click(function ( ) { alert("Background color = " + $("p" ).css("background-color" )); }); }); </script > </head > <body > <h2 > 这是标题</h2 > <p style ="background-color:#ff0000" > 这是一个段落。</p > <p style ="background-color:#00ff00" > 这是一个段落。</p > <p style ="background-color:#0000ff" > 这是一个段落。</p > <button > 返回 p 元素的背景色</button > </body > </html >
jQuery 遍历 遍历 DOM
jQuery 提供了多种遍历 DOM 的方法。
遍历方法中最大的种类是树遍历(tree-traversal)。
jQuery AJAX AJAX 是与服务器交换数据的艺术,它在不重载全部页面的情况下,实现了对部分网页的更新。
<!DOCTYPE html> <html > <head > <script src ="/jquery/jquery-1.11.1.min.js" > </script > <script > $(document ).ready(function ( ) { $("#btn1" ).click(function ( ) { $('#test' ).load('/example/jquery/demo_test.txt' ); }) }) </script > </head > <body > <h3 id ="test" > 请点击下面的按钮,通过 jQuery AJAX 改变这段文本。</h3 > <button id ="btn1" type ="button" > 获得外部的内容</button > </body > </html >
AJAX = 异步 JavaScript 和 XML(Asynchronous JavaScript and XML)。
简短地说,在不重载整个网页的情况下,AJAX 通过后台加载数据,并在网页上进行显示。
使用 AJAX 的应用程序案例:谷歌地图、腾讯微博、优酷视频、人人网等等。
jQuery load() jQuery load() 方法是简单但强大的 AJAX 方法。
load() 方法从服务器加载数据,并把返回的数据放入被选元素中。
<!DOCTYPE html> <html > <head > <script src ="/jquery/jquery-1.11.1.min.js" > </script > <script > $(document ).ready(function ( ) { $("button" ).click(function ( ) { $("#div1" ).load("/example/jquery/demo_test.txt" ,function (responseTxt,statusTxt,xhr ) { if (statusTxt=="success" ) alert("外部内容加载成功!" ); if (statusTxt=="error" ) alert("Error: " +xhr.status+": " +xhr.statusText); }); }); }); </script > </head > <body > <div id ="div1" > <h2 > 使用 jQuery AJAX 来改变文本</h2 > </div > <button > 获得外部内容</button > </body > </html >
jQuery get() 和 post() 方法用于通过 HTTP GET 或 POST 请求从服务器请求数据。
两种在客户端和服务器端进行请求-响应的常用方法是:GET 和 POST。
GET - 从指定的资源请求数据
POST - 向指定的资源提交要处理的数据
GET 基本上用于从服务器获得(取回)数据。注释:GET 方法可能返回缓存数据。
POST 也可用于从服务器获取数据。不过,POST 方法不会缓存数据,并且常用于连同请求一起发送数据。
<!DOCTYPE html> <html > <head > <script src ="/jquery/jquery-1.11.1.min.js" > </script > <script > $(document ).ready(function ( ) { $("button" ).click(function ( ) { $.get ("/example/jquery/demo_test.asp",function(data,status){ alert("数据:" + data + "\n状态:" + status); }); }); }); </script > </head > <body > <button > 向页面发送 HTTP GET 请求,然后获得返回的结果</button > </body > </html >
<!DOCTYPE html> <html > <head > <script src ="/jquery/jquery-1.11.1.min.js" > </script > <script > $(document ).ready(function ( ) { $("button" ).click(function ( ) { $.post("/example/jquery/demo_test_post.asp" , { name:"Donald Duck" , city:"Duckburg" }, function (data,status ) { alert("数据:" + data + "\n状态:" + status); }); }); }); </script > </head > <body > <button > 向页面发送 HTTP POST 请求,并获得返回的结果</button > </body > </html >
参考 https://www.w3school.com.cn/jquery/index.asp