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