jQuery 是一個 JavaScript 庫。css
框架:Mybatis (jar包) 大工具html
插件:PageHelper (jar包) 小工具jquery
庫:js庫:jquery (js文件) 小工具 (對於原生語言的升級,擴展)編程
所謂的庫,就是一個 JS 文件,裏面封裝了不少預約義的函數,好比獲取元素,執行隱藏、移動等,目的就 是在使用時直接調用,不須要再重複定義,這樣就能夠極大地簡化了 JavaScript 編程。數組
jQuery 官網:https://www.jquery.com瀏覽器
開發思路app
編寫 HTML 文檔。 框架
引入 jQuery 文件。函數
使用 jQuery 獲取元素。工具
使用瀏覽器測試。
代碼實現
jQuery 是一個 JavaScript 庫。
說白了就是定義好的一個 JS 文件,內部封裝了不少功能,能夠大大簡化咱們的 JS 操做步驟。
jQuery 官網:https://www.jquery.com。
要想使用,必需要引入該文件。
jQuery 的核心語法 $();
jQuery 本質上雖然也是 JS,但若是想使用 jQuery 的屬性和方法那麼必須保證對象是 jQuery 對象,而不是 JS 方式得到的 DOM 對象,兩者的 API 方法不能混合使用,若想使用對方的 API,須要進行對象的轉換。
JS 的 DOM 對象轉換成 jQuery 對象
//$(JS 的 DOM 對象);
// JS方式,經過id屬性值獲取div元素
let jsDiv = document.getElementById("div");
alert(jsDiv.innerHTML);
//alert(jsDiv.html()); JS對象沒法使用jQuery裏面的功能
// 將 JS 對象轉換爲jQuery對象
let jq = $(jsDiv);
alert(jq.html());
jQuery 對象轉換成 JS 對象
/*jQuery 對象[索引];
jQuery 對象.get(索引);*/
// jQuery方式,經過id屬性值獲取div元素
let jqDiv = $("#div");
alert(jqDiv.html());
// alert(jqDiv.innerHTML); jQuery對象沒法使用JS裏面的功能
// 將 jQuery對象轉換爲JS對象 ( 將獲取到的js對象放入一個數組中,jq對象就是一個包含了js對象的數組)
let js = jqDiv[0];
alert(js.innerHTML);
經常使用的事件
在 jQuery 中將事件封裝成了對應的方法。去掉了 JS 中的 .on 語法。
代碼實現
綁定事件
//jQuery 對象.on(事件名稱,執行的功能);
//給btn1按鈕綁定單擊事件
$("#btn1").on("click",function(){
alert("點我幹嗎?");
});
解綁事件
若是不指定事件名稱,則會把該對象綁定的全部事件都解綁
//jQuery 對象.off(事件名稱);
//經過btn2解綁btn1的單擊事件
$("#btn2").on("click",function(){
$("#btn1").off("click");
});
事件的切換:須要給同一個對象綁定多個事件,並且多個事件還有前後順序關係。
方式一:單獨定義
$(元素).事件方法名1(要執行的功能);
$(元素).事件方法名2(要執行的功能);
//方式一 單獨定義
$("#div").mouseover(function(){
//背景色:紅色
//$("#div").css("background","red");
$(this).css("background","red");
});
$("#div").mouseout(function(){
//背景色:藍色
//$("#div").css("background","blue");
$(this).css("background","blue");
});
方式二:鏈式定義
$(元素).事件方法名1(要執行的功能)
.事件方法名2(要執行的功能);
//方式二 鏈式定義
$("#div").mouseover(function(){
$(this).css("background","red");
}).mouseout(function(){
$(this).css("background","blue");
});
方式一:傳統方式
for(let i = 0; i < 容器對象長度; i++){
執行功能;
}
//方式一:傳統方式
$("#btn").click(function(){
let lis = $("li");//傳入的是一個標籤名,就會獲取全部的標籤對象,將標籤對象放入jQuery對象
for(let i = 0 ; i < lis.length; i++) {
alert(i + ":" + lis[i].innerHTML);
}
});
方式二:對象.each()方法
容器對象.each(function(index,ele){
執行功能;
});
//方式二:對象.each()方法
$("#btn").click(function(){
let lis = $("li");
lis.each(function(index,ele){// 匿名函數做爲參數傳遞給each方法,就是由each方法內部來調用
alert(index + ":" + ele.innerHTML);
// each方法第一次調用匿名函數時,0 , lis[0]
// each方法第二次調用匿名函數時,1 , lis[1]
});
});
方式三:$.each()方法
$.each(容器對象,function(index,ele){
執行功能;
});
//方式三:$.each()方法
$("#btn").click(function(){
let lis = $("li");
$.each(lis,function(index,ele){
alert(index + ":" + ele.innerHTML);
});
});
方式四:for of語句
for(ele of 容器對象){
執行功能;
}
//方式四:for of 語句遍歷
$("#btn").click(function(){
let lis = $("li");
for(ele of lis){
alert(ele.innerHTML);
}
});
JS 對象和 jQuery 對象相互轉換
$(JS 的 DOM 對象):將 JS 對象轉爲 jQuery 對象。
jQuery 對象[索引] jQuery
對象.get(索引):將 jQuery 對象轉爲 JS 對象。
事件
在 jQuery 中將事件封裝成了對應的方法。去掉了 JS 中的 .on 語法。
on(事件名稱,執行的功能):綁定事件。
off(事件名稱):解綁事件。
遍歷
傳統方式。
對象.each() 方法。
$.each() 方法。
for of 語句。
選擇器:相似於 CSS 的選擇器,能夠幫助咱們獲取元素。
例如:id 選擇器、類選擇器、元素選擇器、屬性選擇器等等。
jQuery 中選擇器的語法:$();
代碼實現
A和B表明的是任意的基本選擇器
代碼實現
代碼實現
語法: 基本選擇器/層級選擇器 : 過濾選擇器
基本選擇器 不包含id選擇器
過濾選擇器,是從多個結果中選擇一個或多個
代碼實現
代碼實現
選擇器:相似於 CSS 的選擇器,能夠幫助咱們獲取元素。
jQuery 中選擇器的語法:$();
基本選擇器
$("元素的名稱");
$("#id的屬性值");
$(".class的屬性值");
層級選擇器
$("A B");
$("A > B");
屬性選擇器
$("A[屬性名]");
$("A[屬性名=屬性值]");
過濾器選擇器
$("A:even");
$("A:odd");
表單屬性選擇器
$("A:disabled");
$("A:checked");
$("A:selected");
經常使用方法
代碼實現
經常使用方法
append,appendTo,prepend,prependTo是父子關係的操做(父親添加兒子,或者是,兒子添加到父親)
before,after是兄弟關係的操做
代碼實現