From : http://www.runoob.com/jquery/jquery-intro.htmlphp
Ref: jQuery 實例css
jQuery是一個JavaScript函數庫。html
jQuery是一個輕量級的"寫的少,作的多"的JavaScript庫。jquery
jQuery庫包含如下功能:ajax
提示: 除此以外,Jquery還提供了大量的插件。json
若是您不但願下載並存放 jQuery,那麼也能夠經過 CDN(內容分發網絡) 引用它。跨域
代碼一
<!DOCTYPE html> <html> <head> <script src="https://cdn.bootcss.com/jquery/1.10.2/jquery.min.js"></script> <script> $(document).ready(function(){ # 美圓符號定義jQuery;括號內是selector,查詢和查找html元素;ready表示「在文檔徹底加載完後執行函數」
----------------------------------- $("button").click(function(){ $("p").hide(); });
----------------------------------- }); </script> </head> <body> <h2>這是一個標題</h2> <p>這是一個段落。</p> <p>這是另外一個段落。</p> <button>點我</button> </body> </html>
其餘CDN方案:http://www.runoob.com/jquery/jquery-install.html瀏覽器
<head> <script src="http://cdn.static.runoob.com/libs/jquery/1.10.2/jquery.min.js"> </script> <script src="my_jquery_functions.js"></script> </head>
見代碼一。服務器
頁面中元素的 id 應該是惟一的,因此您要在頁面中選取惟一的元素須要經過 #id 選擇器。網絡
<script> $(document).ready(function(){ $("button").click(function(){ $("#test").hide(); }); }); </script> <body> <h2>這是一個標題</h2> <p>這是一個段落</p> <p id="test">這是另一個段落</p> <button>點我</button> </body>
<script> $(document).ready(function(){ $("button").click(function(){ $(".test").hide(); }); }); </script> <body> <h2 class="test">這是一個標題</h2> <p class="test">這是一個段落。</p> <p>這是另一個段落。</p> <button>點我</button> </body>
$("p").click(function(){ $(this).hide(); }); $("p").dblclick(function(){ $(this).hide(); }); $("#p1").mouseenter(function(){ alert('您的鼠標移到了 id="p1" 的元素上!'); }); $("#p1").mouseleave(function(){ alert("再見,您的鼠標離開了該段落。"); }); $("#p1").mousedown(function(){ alert("鼠標在該段落上按下!"); }); $("#p1").mouseup(function(){ alert("鼠標在段落上鬆開。"); }); $("#p1").hover( function(){ alert("你進入了 p1!"); }, function(){ alert("拜拜! 如今你離開了 p1!"); } ); $("input").focus(function(){ $(this).css("background-color","#cccccc"); }); $("input").blur(function(){ $(this).css("background-color","#ffffff"); });
$(selector).hide(speed,callback); $(selector).show(speed,callback); $(selector).toggle(speed,callback); fadeIn() fadeOut() fadeToggle() fadeTo()
slideDown()
slideUp()
slideToggle()
經過 animate 也可實現該效果:
$("button").click(function(){ $("div").animate({ height:'toggle' }); });
[1] 直接定義 「終點「 狀態。
$("button").click(function(){ $("div").animate({ left:'250px', opacity:'0.5', height:'150px', width:'150px' }); });
[2] 只定義 "變化" 狀態。
$("button").click(function(){ $("div").animate({ left :'250px', height:'+=150px', width :'+=150px' }); });
[3] 定義多個動畫過程,合併起來。
$("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"); });
[4] jQuery stop() 方法用於中止動畫或效果,在它們完成以前;stop() 方法適用於全部 jQuery 效果函數,包括滑動、淡入淡出和自定義動畫。
<script> $(document).ready(function(){ $("#flip").click(function(){ $("#panel").slideDown(5000); }); $("#stop").click(function(){ $("#panel").stop(); }); }); </script>
<body> <button id="stop">中止滑動</button> <div id="flip">點我向下滑動面板</div> <div id="panel">Hello world!</div> </body>
# 有回調
$("button").click(function(){
$("p").hide("slow",function(){
alert("段落如今被隱藏了");
});
});
# 沒回調
$("button").click(function(){
$("p").hide(1000);
alert("段落如今被隱藏了");
});
這樣的話,瀏覽器就沒必要屢次查找相同的元素。
如需連接一個動做,您只需簡單地把該動做追加到以前的動做上。
下面的例子把 css()、slideUp() 和 slideDown() 連接在一塊兒。
<script> $(document).ready(function(){ $("button").click(function(){ $("#p1").css("color","red").slideUp(2000).slideDown(2000); }); }); </script>
<p id="p1">菜鳥教程!!</p> <button>點我</button>
設置內容 - text()、html() 以及 val()
設置屬性 - attr()
append() - 在被選元素的結尾插入內容
prepend() - 在被選元素的開頭插入內容
after() - 在被選元素以後插入內容
before() - 在被選元素以前插入內容
remove() - 刪除被選元素(及其子元素)
empty() - 從被選元素中刪除子元素
addClass() - 向被選元素添加一個或多個類
removeClass() - 從被選元素刪除一個或多個類
toggleClass() - 對被選元素進行添加/刪除類的切換操做
css() - 設置或返回樣式屬性
[1] 舉例:將要添加的風格。
<style type="text/css"> .important { font-weight:bold; font-size:xx-large; } .blue { color:blue; } </style>
[2] 執行:經過選擇器添加css效果。
<script> $(document).ready(function(){ $("button").click(function(){ $("h1,h2,p").addClass("blue"); $("div").addClass("important"); }); }); </script>
[3] 結果:以下選擇器添加了style。
<body> <h1>標題 1</h1> <h2>標題 2</h2> <p>這是一個段落。</p> <p>這是另一個段落。</p> <div>這是一些重要的文本!</div> <br> <button>爲元素添加 class</button> </body>
返回屬性 - $("p").css("background-color");
設置屬性 - $("p").css("background-color","yellow");
設置多個 CSS 屬性 - $("p").css({"background-color":"yellow","font-size":"200%"});
$("button").click(function(){ var txt=""; txt+="div 的寬度是: " + $("#div1").width() + "</br>"; txt+="div 的高度是: " + $("#div1").height(); $("#div1").html(txt); });
$("button").click(function(){ var txt=""; txt+="div 寬度,包含內邊距: " + $("#div1").innerWidth() + "</br>"; txt+="div 高度,包含內邊距: " + $("#div1").innerHeight(); $("#div1").html(txt); });
$("button").click(function(){ var txt=""; txt+="div 寬度,包含內邊距和邊框: " + $("#div1").outerWidth() + "</br>"; txt+="div 高度,包含內邊距和邊框: " + $("#div1").outerHeight(); $("#div1").html(txt); })
$(document).ready(function(){ $("span").parent(); });
$(document).ready(function(){ $("span").parents(); });
$(document).ready(function(){ $("span").parents("ul"); });
$(document).ready(function(){ $("span").parentsUntil("div"); });
<!DOCTYPE html> <html> <head> <meta charset="utf-8">
<style> .descendants * { display: block; border: 2px solid lightgrey;color: lightgrey; padding: 5px; margin: 15px; } </style>
<script src="https://cdn.bootcss.com/jquery/1.10.2/jquery.min.js"> </script> <script> $(document).ready(function(){ $("div").children().css({"color":"red","border":"2px solid red"}); }); </script> </head>
<body> <divclass="descendants" style="width:500px;">div (當前元素) <p>p (兒子元素) <span>span (孫子元素)</span> </p> <p>p (兒子元素) <span>span (孫子元素)</span> </p> </div> </body> </html>
$(document).ready(function(){
$("div").find("span");
});
$(document).ready(function(){
$("h2").siblings();
});
-----------------------------
$(document).ready(function(){
$("h2").siblings("p");
});
next() 方法返回被選元素的下一個同胞元素。
$(document).ready(function(){
$("h2").next();
});
-----------------------------
$(document).ready(function(){
$("h2").nextAll();
});
-----------------------------
$(document).ready(function(){
$("h2").nextUntil("h6");
});
jQuery prev(), prevAll() & prevUntil() 方法。
$(document).ready(function(){
$("div p").first();
});
$(document).ready(function(){
$("div p").last();
});
$(document).ready(function(){
$("p").eq(1);
});
filter() 方法
filter() 方法容許您規定一個標準。不匹配這個標準的元素會被從集合中刪除,匹配的元素會被返回。
$(document).ready(function(){
$("p").filter(".url");
});
$(document).ready(function(){
$("p").not(".url");
});
AJAX = 異步 JavaScript 和 XML(Asynchronous JavaScript and XML)。
簡短地說,在不重載整個網頁的狀況下,AJAX 經過後臺加載數據,並在網頁上進行顯示。
jQuery load() 方法是簡單但強大的 AJAX 方法。
[1] load() 方法從服務器加載數據,並把返回的數據放入被選元素中。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鳥教程(runoob.com)</title> <script src="https://cdn.bootcss.com/jquery/1.10.2/jquery.min.js"> </script> <script> $(document).ready(function(){ $("button").click(function(){ $("#div1").load("/try/ajax/demo_test.txt"); }); }); </script> </head> <body> <div id="div1"><h2>使用 jQuery AJAX 修改文本內容</h2></div> <button>獲取外部內容</button> </body> </html>
[2] 若是 load() 方法已成功,則顯示"外部內容加載成功!";若是失敗,則顯示錯誤消息。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="https://cdn.bootcss.com/jquery/1.10.2/jquery.min.js"> </script> <script> $(document).ready(function(){ $("button").click(function(){ $("#div1").load("/try/ajax/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>
回調函數能夠設置不一樣的參數:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鳥教程(runoob.com)</title> <script src="https://cdn.bootcss.com/jquery/1.10.2/jquery.min.js"> </script>
<script> $(document).ready(function(){ $("button").click(function(){ $.get("/try/ajax/demo_test.php", function(data, status){ alert("數據: " + data + "\n狀態: " + status); }); }); }); </script> </head> <body> <button>發送一個 HTTP GET 請求並獲取返回結果</button> </body> </html>
jQuery $.post() 方法
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鳥教程(runoob.com)</title> <script src="https://cdn.bootcss.com/jquery/1.10.2/jquery.min.js"> </script> <script> $(document).ready(function(){ $("button").click(function(){ $.post("/try/ajax/demo_test_post.php",{ name:"菜鳥教程", url:"http://www.runoob.com" }, function(data, status){ alert("數據: \n" + data + "\n狀態: " + status); }); }); }); </script> </head> <body> <button>發送一個 HTTP POST 請求頁面並獲取返回內容</button> </body> </html>
jQuery 使用 $ 符號做爲 jQuery 的簡寫。
若是其餘 JavaScript 框架也使用 $ 符號做爲簡寫怎麼辦?
其餘一些 JavaScript 框架包括:MooTools、Backbone、Sammy、Cappuccino、Knockout、JavaScript MVC、Google Web Toolkit、Google Closure、Ember、Batman 以及 Ext JS。
讓網頁從別的域名(網站)那獲取資料,即跨域讀取數據。
Ref: http://www.runoob.com/json/json-jsonp.html
jQuery Validate 插件爲表單提供了強大的驗證功能。
Goto: http://www.runoob.com/jquery/jquery-plugin-validate.html
jQuery Autocomplete 插件根據用戶輸入值進行搜索和過濾,讓用戶快速找到並從預設值列表中選擇。
Goto: http://www.runoob.com/try/try.php?filename=jquery-plugin-password-validate
jQuery Prettydate 插件爲表單提供了強大的驗證功能,讓客戶端表單驗證變得更簡單,同時提供了大量的定製選項,知足應用程序各類需求。該插件捆綁了一套有用的驗證方法,包括 URL 和電子郵件驗證,同時提供了一個用來編寫用戶自定義方法的 API。全部的捆綁方法默認使用英語做爲錯誤信息,且已翻譯成其餘 37 種語言。
jQuery Tooltip 插件取代了原生的工具提示框,讓它們可自定義,您只須要調整它們的內容、位置和外觀便可。