@finsweet/ts-utils
Version:
Typescript utils for custom Webflow projects.
18 lines (17 loc) • 538 B
JavaScript
import { isHTMLElement } from '../type-guards';
/**
* Finds the first child text node of an element
* @param element The element to search into.
*/
export const findTextNode = (element) => {
let textNode;
for (const node of element.childNodes) {
if (isHTMLElement(node) && node.childNodes.length)
textNode = findTextNode(node);
else if (node.nodeType === Node.TEXT_NODE && node.textContent?.trim())
textNode = node;
if (textNode)
break;
}
return textNode;
};