Я пытаюсь написать метод, который принимает два параметра: один из parentNode текущего элемента, где много дочерних узлов с корнями тени внутри него, а второй параметр является идентификатором элемента в одном из корней тени одного из childNode этого родительского узла param. Я пытался использовать универсальные методы querySelector (), с которыми поставляется JS, чтобы найти элемент, используя только идентификатор, но он не сработал из-за того, что мои теги элементов были внутри shadowroot. По этой причине у меня был более или менее жесткий код, который перебирает дерево DOM по имени тега, поэтому возникла идея написать более динамический метод, который обрабатывает сопоставление. Вот HTML-пример того, с чем я имею дело, используя набор настраиваемых тегов веб-компонентов (поэтому и корни теней):
<body>
<my-app>
<main id="main">
<my-app-pub>
<section>
<my-app-workpackage id="wp">
<my-table id="mytable1" data={...}>
#shadow-root (open)
<style></style>
<table>
<thead></thead>
<tbody>
<tr id="tr1"></tr>
<tr id="tr2"></tr>
<tr id="tr3"></tr>
</tbody>
</table>
</my-table>
<my-table id="mytable2" data={...}>
#shadow-root (open)
<style></style>
<table>
<thead></thead>
<tbody>
<tr id="tr4"></tr>
<tr id="tr5"></tr>
<tr id="tr6"></tr>
</tbody>
</table>
</my-table>
</my-app-workpackage>
</section>
</my-app-pub>
</main>
</my-app>
Если у меня есть переменная с родительским элементом <my-app-workpackage>
и идентификатор элемента, который я хочу найти как tr2
, как мне написать метод для обработки этого?