closest()方法返回所選元素的第一個(gè)祖先。
closest()方法從當(dāng)前元素一直向上遍歷,一直到文檔的根元素(<html>),以找到DOM元素的第一個(gè)祖先。
closest()和parents()方法是相似的,因?yàn)樗鼈兌急闅vDOM樹。區(qū)別如下:
closest()
從當(dāng)前元素開始
向上移動(dòng)DOM樹,直到找到與提供的選擇器匹配的對(duì)象
返回的jQuery對(duì)象按文檔順序?yàn)樵技械拿總€(gè)元素包含零個(gè)或一個(gè)元素
parents()
從父元素開始
在DOM樹中瀏覽到文檔的根元素,將每個(gè)祖先元素添加到一個(gè)臨時(shí)集合中;然后,如果有選擇器,則根據(jù)選擇器過濾該集合
返回的jQuery對(duì)象包含原始集合中每個(gè)元素的零個(gè)或多個(gè)元素(以相反的文檔順序)
返回所選元素的第一個(gè)祖先:
$(selector).closest(selectorExpression)
使用DOM上下文返回第一個(gè)祖先,以在其中查找DOM樹:
$(selector).closest(selectorExpression, context)
返回<span>的第一個(gè)祖先,即<div>元素:
p(直接父級(jí)) span
參數(shù) | 描述 |
---|---|
selectorExpression | 指定選擇器表達(dá)式,元素或jQuery對(duì)象以匹配元素 |
context | (可選)可以在其中找到匹配元素的DOM元素 |