W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
jQuery 1.3新增。從元素本身開(kāi)始,逐級(jí)向上級(jí)元素匹配,并返回最先匹配的元素。。
closest會(huì)首先檢查當(dāng)前元素是否匹配,如果匹配則直接返回元素本身。如果不匹配則向上查找父元素,一層一層往上,直到找到匹配選擇器的元素。如果什么都沒(méi)找到則返回一個(gè)空的jQuery對(duì)象。
closest和parents的主要區(qū)別是:1,前者從當(dāng)前元素開(kāi)始匹配尋找,后者從父元素開(kāi)始匹配尋找;2,前者逐級(jí)向上查找,直到發(fā)現(xiàn)匹配的元素后就停止了,后者一直向上查找直到根元素,然后把這些元素放進(jìn)一個(gè)臨時(shí)集合中,再用給定的選擇器表達(dá)式去過(guò)濾;3,前者返回0或1個(gè)元素,后者可能包含0個(gè),1個(gè),或者多個(gè)元素。
closest對(duì)于處理事件委托非常有用。
用以過(guò)濾元素的表達(dá)式。jQuery 1.4開(kāi)始,也可以傳遞一個(gè)字符串?dāng)?shù)組,用于查找多個(gè)元素。
expr:用以過(guò)濾子元素的表達(dá)式
context:DOM元素在其中一個(gè)匹配的元素可以被發(fā)現(xiàn)。如果沒(méi)有上下文在當(dāng)時(shí)的情況下通過(guò)了jQuery設(shè)置將被使用。
一個(gè)用于匹配元素的jQuery對(duì)象
一個(gè)用于匹配元素的DOM元素。
展示如何使用clostest查找多個(gè)元素
<ul><li></li><li></li></ul>
$("li:first").closest(["ul", "body"]);
[ul, body]
展示如何使用clostest來(lái)完成事件委托。
<ul>
<li><b>Click me!</b></li>
<li>You can also <b>Click me!</b></li>
</ul>
$(document).bind("click", function (e) {
$(e.target).closest("li").toggleClass("hilight");
});
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: