1.jQuery介紹
1.1jQuery是什麼
jQuery是一個快速、簡介的JavaScript框架,是prototype之後一個優秀的JavaScript程式碼庫(或者JavaScript框架)。jQuery設計的宗旨是“write Less,Do More”,指倡導更少的程式碼,做更多的事情,他封裝JavaScript常用的功能程式碼,提供一種簡介的JavaScript設計模式,最佳化HTML文件操作、時間處理、動畫設計和ajax互動。
jQuery的核心特性可以總結為:具有獨特的鏈式語法和短小清晰的多功能介面;具有高效靈活的css選擇器,並且可對css選擇器進行擴充套件;擁有便捷的外掛擴充套件機制和豐富的外掛。jQuery相容各種主流瀏覽器。
1.2 jQuery的版本
目前市場上 1.x 2.x 3.x
功能的完善在 1.x
2.x的時候屬於刪除舊程式碼,去除對於舊的瀏覽器相容程式碼
3.x的時候增加es的新特性以及調整核心程式碼的結構。
1.3 jQuery的引入
根本上jQuery就是一個寫好的js檔案,所以想要使用jQuery的語法必須先引入到本地
常用源地址:
https://www.bootcdn.cn/
1.本地引入
<script src="jQuery.js"></script>
2.遠端引入
<script scr="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.js"></script>
jQuery選擇器
1.直接查詢
1.1 基本選擇器
1.2 組合選擇器
1.3 屬性選擇器
1.4 表單選擇器
1.5 篩選器
/*
//基本選擇器
#id # id選擇符
element # 元素選擇符
.class # class選擇符
selector1, selector2, selectorN # 同時獲取多個元素的選擇符
//組合選擇器
ancestor descendant // 包含選擇符
parent > child // 父子選擇符
prev + next // 下一個兄弟選擇符
prev ~ siblings // 兄弟選擇符
//屬性選擇器
[attribute=value] // 獲取擁有指定資料attribute,並且置為value的元素
$('[type="checked"]')
$('[class*="xxx"]')
//表單選擇器
$("[type='text']")----->$(":text") 注意只適用於input標籤 :
$("input:checked")
同樣適用表單的以下屬性
:enabled
:disabled
:checked
:selected
//篩選器
:first // 從已經獲取的元素集合中提取第一個元素
:even // 從已經獲取的元素集合中提取下標為偶數的元素
:odd // 從已經獲取的元素集合中提取下標為奇數的元素
:eq(index) // 從已經獲取的元素集合中提取指定下標index對應的元素
:gt(index) // 從已經獲取的元素集合中提取下標大於index對應的元素
:last // 從已經獲取的元素集合中提取最後一個元素
:lt(index) // 從已經獲取的元素集合中提取下標小於index對應的元素
:first-child // 從已經獲取的所有元素中提取他們的第一個子元素
:last-child // 從已經獲取的所有元素中提取他們的最後一個子元素
:nth-child // 從已經獲取的所有元素中提取他們的指定下標的子元素
// 篩選器方法
$().first() // 從已經獲取的元素集合中提取第一個元素
$().last() // 從已經獲取的元素集合中提取最後一個元素
$().eq() // 從已經獲取的元素集合中提取指定下標index對應的元素
*/
1.1 基本選擇器
#id # id選擇符
element # 元素選擇符
.class # class選擇符
selector1, selector2, selectorN # 同時獲取多個元素的選擇符
$("#id")
$(".class")
$("element")
$(".class,p,div")
<script>
$("#i1").css("color","red"); //id選擇符
$("p").css("color","red"); //屬性選擇符
$(".c3").css("color","blue") ; //class選擇符
$("div.c1#q1").css("color","red"); //同時滿足多個元素
$("p,div").css("color","yellow") //同時選中多個標籤,滿足其中一個則執行該程式碼
</script>
1.2 組合選擇器
A B //包含選擇符
parent > child //父子選擇符
prev + next //下一個兄弟選擇符
prev ~ siblings //下面兄弟選擇符
$(".outer div")
$(".outer>div")
$(".outer+div")
$(".outer~div")
<script>
$("div div").css("color","red") //包含選擇符
$("div > div").css("color","red") //父子選擇符
$("#l1 + div").css("color","red") //下一個兄弟選擇符
$("#l1 ~ div").css("color","red") //下面所有兄弟選擇符
</script>
1.3 屬性選擇器
[attribute=value] //獲取擁有指定資料attribute,並且置為value的元素
$('[type="checked"]')
$('[class*="xxx"]')
$("[type='text']").css("border","1px solid red")
$("[class*='c']").css("color","yellow")
1.4表單選擇器
$("[type='text']")----->$(":text") 注意只適用於input標籤 :
$("input:checked")
同樣適用表單的以下屬性
:enabled
:disabled
:checked
:selected
$("[type='text']").css("border","1px solid red")
$(":password").css("border","2px solid red")
1.5篩選器
/*
$("ul li").css("color","red") //所有ul下的li標籤都獲取到
$("ul li:first").css("color","red"); //查詢ul下的第一個li標籤
$("ul li:last").css("color","red"); //查詢ul下的最後一個li標籤
$("ul li:even").css("color","red") ; //查詢ul下為奇數的li標籤
$("ul li:odd").css("color","red"); //查詢ul下為偶數的li標籤
$("ul li:eq(2)").css("color","yellow"); //查詢ul下索引等於3的li標籤
$("ul li:gt(2)").css("color","red"); //查詢ul下索引大於2的li標籤
$("ul li:lt(2)").css("color","green") //查詢ul下索引小於2的li的標籤
$("li:first-child").css("color","red"); //查詢父級元素中的第一個li標籤
*/
1.6篩選器方法
/*
var index =3;
$(".outer li").eq(index).css("color","red");
$(".outer li").last().css("color","red");
$(".outer li").first().css("color","red");
*/
2.導航查詢
//查詢子代
$(".c2").children("ul").css("color","red") //查詢為ul的子代
$(".outer").children().css("color","red") //查詢所有子代
//查詢後代
$(".outer").find("ul").css("color","blue") //查詢後代
//向下查詢兄弟標籤
$(".c4 .c5").next().css("color","red") //向下查詢一個兄弟標籤
$(".c4 .c5").nextAll().css("color","red") //向下查詢所有兄弟標籤
$(".c4 .c5").nextUntil(".c6").css("color","red") //向下查詢所有兄弟標籤到那個兄弟標籤結束
//向上查詢兄弟標籤
$(".c4 .c5").prev().css("color","red"); //向上查詢一個兄弟標籤
$(".c4 .c5").prevAll().css("color","red"); //向上查詢所有兄弟標籤
$(".c4 .c6").prevUntil(".c5").css("color","red") //向上查詢兄弟標籤到那個兄弟標籤結束
//查詢所有兄弟標籤
、 // $(".c4 .c5").siblings().css("color","blue"); //查詢所有兄弟標籤
//查詢父標籤
$(".c4 .c5").parent() //查詢父親
$(".c4 .c5").parent().parent() //查詢父親的父親
$(".c4 .c5").parents() //查詢所有的父親
$(".c4 .c5").parentsUntil() //查詢到那一層父親結束
jQuery和DOM物件轉化
/*// jquery物件 = [dom1,dom2,...]
var $ele = $(".c3 li")
$ele.css("color","red")
// jquery物件轉換dom物件 jquery物件[索引]
$ele[1].style.color="green"
// 將dom物件轉換成jq物件: $(dom) []
dom = document.getElementById("i1")
$(dom).css("color","red")*/