22 lines
836 B
TypeScript
22 lines
836 B
TypeScript
// Generische Helferfunktion zum Selektieren von Element mit Überprüfung, ob das Element existiert
|
|
export const querySelectorTyped = <T extends HTMLElement>(
|
|
selector: string,
|
|
parent: Element | Document = document,
|
|
): T => {
|
|
const element = parent.querySelector<T>(selector);
|
|
if (!element) {
|
|
throw new Error(`Element with selector "${selector}" not found.`);
|
|
}
|
|
return element;
|
|
};
|
|
|
|
// Helferfunktion aus jQuery (youmightnotjquery)
|
|
export const parents = (el: HTMLElement, selector?: string): HTMLElement[] => {
|
|
const parents: HTMLElement[] = [];
|
|
let currentEl: HTMLElement | null = el;
|
|
while ((currentEl = currentEl.parentElement) && currentEl !== null && currentEl !== document.documentElement) {
|
|
if (!selector || currentEl.matches(selector)) parents.push(currentEl as HTMLElement);
|
|
}
|
|
return parents;
|
|
};
|