JQuery是一種流行的JavaScript庫,提供了許多操作DOM和事件處理的便捷方法。在某些情況下,需要逆向查詢父級元素的列表,以了解DOM樹中當(dāng)前元素的層次結(jié)構(gòu)。這是通過遞歸函數(shù)來完成的。
function getParentArray($element, array) {
if ($element.parent().length) {
array.push($element.parent());
getParentArray($element.parent(), array)
}
return array.reverse();
}
在以上函數(shù)中,$element是要查詢的元素,array是存儲父元素列表的數(shù)組。首先檢查元素是否有父元素,如果有,則將其加入到數(shù)組中,并再次遞歸運(yùn)行函數(shù),使用父元素作為輸入?yún)?shù)。如果元素沒有父元素,則返回反轉(zhuǎn)數(shù)組,以便最后一個父元素成為數(shù)組的第一個元素。
要使用該函數(shù),請?zhí)峁┮樵兊脑睾涂諗?shù)組作為參數(shù):
var element = $('#child-element');
var parentArray = getParentArray(element, []);
現(xiàn)在,parentArray數(shù)組將包含節(jié)點(diǎn)層次結(jié)構(gòu)的所有祖先元素。