網(wǎng)站首頁 編程語言 正文
選擇器
基本選擇器
$("#id")
$(".className")
$("tagName")
$("#id, .className, tagName")
$("div.c1")
層級選擇器:
$("x y"); // x的所有后代y(子子孫孫)
$("x > y"); // x的所有兒子y(兒子)
$("x + y") // 找到所有緊挨在x后面的y
$("x ~ y") // x之后所有的兄弟y
屬性選擇器
[attribute]
[attribute=value] // 屬性等于
[attribute!=value] // 屬性不等于
// 示例
<input type="text">
<input type="password">
<input type="checkbox">
$("input[type='checkbox']"); // 取到checkbox類型的input標(biāo)簽
$("input[type!='text']"); // 取到類型不是text的input標(biāo)簽
基本篩選器:
:first // 第一個
:last // 最后一個
:eq(index) // 索引等于index的那個元素
:gt(index) // 匹配所有大于給定索引值的元素
:lt(index) // 匹配所有小于給定索引值的元素
:even // 匹配所有索引值為偶數(shù)的元素,從 0 開始計數(shù)
:odd // 匹配所有索引值為奇數(shù)的元素,從 0 開始計數(shù)
:not(元素選擇器) // 移除所有滿足not條件的標(biāo)簽
:has(元素選擇器) // 選取所有包含一個或多個標(biāo)簽在其內(nèi)的標(biāo)簽(指的是從后代元素找)
示例
$("div:has(h1)") // 找到所有后代中有h1標(biāo)簽的div標(biāo)簽
$("div:has(.c1)") // 找到所有后代中有c1樣式類的div標(biāo)簽
$("li:not(.c1)") // 找到所有不包含c1 class的li標(biāo)簽
$("li:not(:has(a))") // 找到所有后代中不含a標(biāo)簽的li標(biāo)簽
注意:
這里的has和not不是簡單的有和沒有的意思,它倆沒啥關(guān)系(不是一組)
:not和:has通常用.not()和.has()代替。
$("div:has(.c1)")等價于$("div .c1")并不等價于$("div.c1")。
篩選器
下一個元素:
$("#id").next()
$("#id").nextAll()
$("#id").nextUntil("#i2")
上一個元素:
$("#id").prev()
$("#id").prevAll()
$("#id").prevUntil("#i2")
父親元素:
$("#id").parent()
$("#id").parents()
$("#id").parentsUntil()
兒子和兄弟元素:
$("#id").children(); // 兒子們
$("#id").siblings(); // 兄弟們
查找元素:
$("id").find() // 搜索所有與指定表達式匹配的元素。這個函數(shù)是找出正在處理的元素的后代元素的好方法。
補充:
.first() // 獲取匹配的第一個元素
.last() // 獲取匹配的最后一個元素
.not() // 從匹配元素的集合中刪除與指定表達式匹配的元素
.has() // 保留包含特定后代的元素,去掉那些不含有指定后代的元素。
表單篩選器
:text
:password
:file
:radio
:checkbox
:submit
:reset
:button
示例
$(":checkbox") // 找到所有的checkbox
表單對象屬性
:enabled
:disabled
:checked
:selected
示例
<form>
<input name="email" disabled="disabled" />
<input name="id" />
</form>
$("input:enabled") // 找到可用的input標(biāo)簽
<select id="s1">
<option value="beijing">北京市</option>
<option value="shanghai">上海市</option>
<option selected value="guangzhou">廣州市</option>
<option value="shenzhen">深圳市</option>
</select>
$(":selected") // 找到所有被選中的option
//或者如下
$("option:selected")
樣式操作
樣式類
addClass(); // 添加指定的CSS類名。
removeClass(); // 移除指定的CSS類名。
hasClass(); // 判斷樣式存不存在
toggleClass(); // 切換CSS類名,如果有就移除,如果沒有就添加。
CSS
css("color", "red") //DOM操作:tag.style.color="red"
位置
offset() // 獲取匹配元素在當(dāng)前視口的相對偏移
position() // 獲取匹配元素相對父元素的偏移(測試無效)
scrollTop() // 獲取匹配元素相對滾動條頂部的偏移
scrollLeft() // 獲取匹配元素相對滾動條左側(cè)的偏移
.offset()方法允許我們檢索一個元素相對于文檔(document)的當(dāng)前位置。
和.position()的差別在于:.position()是相對于相對于父級元素的位移。
示例代碼如下:
<script>
$("#b1").on("click", function () {
$(".c1").offset({left: 200, top:200});
});
$(window).on("scroll", function () {
if ($(window).scrollTop() > 100) {
//. 當(dāng)向下滾動超過100px, 就把右下角那個返回頂部的按鈕顯示出來
$("#b2").removeClass("hide");
}else {
// 否則就隱藏
$("#b2").addClass("hide");
}
});
$("#b2").on("click", function () {
$(window).scrollTop(0);
})
</script>
尺寸
height() 內(nèi)容
width()
innerHeight() 內(nèi)容+內(nèi)填充
innerWidth()
outerHeight() 內(nèi)容+內(nèi)填充+邊框
outerWidth()
文本操作
HTML代碼
html() // 取得第一個匹配元素的html內(nèi)容
html(val) // 設(shè)置所有匹配元素的html內(nèi)容
文本值
text() // 取得所有匹配元素的內(nèi)容
text(val) // 設(shè)置所有匹配元素的內(nèi)容
值
val() // 取得第一個匹配元素的當(dāng)前值
val(val) // 設(shè)置所有匹配元素的值
val([val1, val2]) // 設(shè)置checkbox、select的值
示例
<label for="s1">城市</label>
<select id="s1">
<option value="beijing">北京市</option>
<option value="shanghai">上海市</option>
<option selected value="guangzhou">廣州市</option>
<option value="shenzhen">深圳市</option>
</select>
<hr>
<label for="s2">愛好</label>
<select id="s2" multiple="multiple">
<option value="basketball" selected>籃球</option>
<option value="football">足球</option>
<option value="doublecolorball" selected>雙色球</option>
</select>
<hr>
<p>愛好</p>
<label>
<input type="checkbox" name="hobby" value="basketball"/> 籃球
<input type="checkbox" name="hobby" value="football"/> 足球
<input type="checkbox" name="hobby" value="doublecolorball"/> 雙色球
</label>
<p>性別</p>
<label for="radio1">女</label>
<input id="radio1" type="radio" name="gender" value="female"/>
<label for="radio2">男</label>
<input id="radio2" type="radio" name="gender" value="male"/>
<script src="jquery-3.2.1.min.js"></script>
<script>
// 單選下拉框
$("#s1").val("shanghai");
// 多選下拉框
$("#s2").val(["basketball", "football"]);
// checkbox
$("input[name='hobby']").val(["basketball", "football"]);
// 單選框
$("input[name='gender']").val(["female"]);
</script>
屬性操作
用于自定義屬性
attr(attrName) // 返回第一個匹配元素的屬性值
attr(attrName, attrValue) // 為所有匹配元素設(shè)置一個屬性值
attr({k1: v1, k2:v2}) // 為所有匹配元素設(shè)置多個屬性值
removeAttr() // 從每一個匹配的元素中刪除一個屬性
示例:
<body>
<div id="d1" egon="nb">div</div>
<input type="checkbox" value="1">1
<input type="checkbox" value="2">2
<input type="radio" name="gender" value="11">11
<input type="radio" name="gender" value="22">22
<script src="jquery-3.2.1.min.js"></script>
</body>
用于checkbox和radio
prop()
removeProp()
在1.x及2.x版本的jQuery中使用attr對checkbox進行復(fù)制操作時會出bug,在3.x版本的jQuery中則沒有這個問題。為了兼容性,我們在處理checkbox和radio的時候盡量使用特定的prop(),不要使用attr(“checked”, “checked”)。
文檔處理
添加到指定元素內(nèi)部的后面
$(A).append(B) // 把B追加到A
$(A).appendTo(B) // 把A追加到B
添加到指定元素內(nèi)部的前面
$(A).prepend(B) // 把B前置到A
$(A).prependTo(B) // 把A前置到B
添加到指定元素外部的后面
$(A).after(B) // 把B放到A的后面
$(A).insertAfter(B) // 把A放到B的后面
添加到指定元素外部的前面
$(A).before(B) // 把B放到A的前面
$(A).insertBefore(B) // 把A放到B的前面
移除和清空元素
remove() // 從DOM中刪除所有匹配的元素。
empty() // 刪除匹配的元素集合中所有的子節(jié)點。
替換
replaceWith()
replaceAll()
克隆
clone() // 參數(shù)
克隆示例代碼如下:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta http-equiv="x-ua-compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>克隆</title>
<style>
#b1 {
background-color: deeppink;
padding: 5px;
color: white;
margin: 5px;
}
#b2 {
background-color: dodgerblue;
padding: 5px;
color: white;
margin: 5px;
}
</style>
</head>
<body>
<button id="b1">屠龍寶刀,點擊就送</button>
<hr>
<button id="b2">屠龍寶刀,點擊就送</button>
<script src="jquery-3.2.1.min.js"></script>
<script>
// clone方法不加參數(shù)true,克隆標(biāo)簽但不克隆標(biāo)簽帶的事件
$("#b1").on("click", function () {
$(this).clone().insertAfter(this);
});
// clone方法加參數(shù)true,克隆標(biāo)簽并且克隆標(biāo)簽帶的事件
$("#b2").on("click", function () {
$(this).clone(true).insertAfter(this);
});
</script>
</body>
</html>
點擊復(fù)制按鈕
頁面載入
當(dāng)DOM載入就緒可以查詢及操縱時綁定一個要執(zhí)行的函數(shù)。這是事件模塊中最重要的一個函數(shù),因為它可以極大地提高web應(yīng)用程序的響應(yīng)速度。
兩種寫法:
$(document).ready(function(){
// 在這里寫你的JS代碼...
})
$(function(){
// 你在這里寫你的代碼
})
原文鏈接:https://wangyongfei.blog.csdn.net/article/details/78964397
相關(guān)推薦
- 2022-04-07 C++?string與int的相互轉(zhuǎn)換(使用C++11)_C 語言
- 2022-08-15 棧(Stack)和隊列(Queue)的基本操作
- 2022-02-04 UMP系統(tǒng)設(shè)計了如下機制來保證數(shù)據(jù)安全
- 2022-05-15 Python獲取網(wǎng)絡(luò)圖片和視頻的示例代碼_python
- 2022-08-10 C++中string字符串分割函數(shù)split()的4種實現(xiàn)方法_C 語言
- 2022-11-14 Python?查看數(shù)據(jù)類型與格式_python
- 2022-08-02 淺談Redis常見延遲問題定位與分析_Redis
- 2022-11-07 React?Hook?父子組件相互調(diào)用函數(shù)方式_React
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支