diff options
Diffstat (limited to 'assets_src/js/lib/dom.js')
-rw-r--r-- | assets_src/js/lib/dom.js | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/assets_src/js/lib/dom.js b/assets_src/js/lib/dom.js index 3c2f4d9..82f5dd2 100644 --- a/assets_src/js/lib/dom.js +++ b/assets_src/js/lib/dom.js | |||
@@ -27,6 +27,22 @@ export function withClass(className) { | |||
27 | return arr; | 27 | return arr; |
28 | } | 28 | } |
29 | 29 | ||
30 | export function firstChild(el, fn) { | ||
31 | if (!el) { | ||
32 | return null; | ||
33 | } | ||
34 | |||
35 | for (const child of el.childNodes) { | ||
36 | if (child.nodeName === '#text') { | ||
37 | continue; | ||
38 | } | ||
39 | if (fn(child)) { | ||
40 | return child; | ||
41 | } | ||
42 | } | ||
43 | return null; | ||
44 | } | ||
45 | |||
30 | export function next(el, fn) { | 46 | export function next(el, fn) { |
31 | if (!el) { | 47 | if (!el) { |
32 | return null; | 48 | return null; |