Мой код:

{amp}lt;section class="section"{amp}gt; {amp}lt;h2 class="section-tree-title"{amp}gt; {amp}lt;a href="{{url}}"{amp}gt;{{name}}{amp}lt;/a{amp}gt; {amp}lt;/h2{amp}gt; {amp}lt;ul class="article-list"{amp}gt; {amp}lt;li class="article-list-item"{amp}gt; {amp}lt;a href="{{url}}" class="article-list-link"{amp}gt;{{title}}{amp}lt;/a{amp}gt; {amp}lt;/li{amp}gt; {amp}lt;/ul{amp}gt; {amp}lt;/section{amp}gt; {amp}lt;section class="section"{amp}gt; {amp}lt;h2 class="section-tree-title"{amp}gt; {amp}lt;a href="{{url}}"{amp}gt;{{name}}{amp}lt;/a{amp}gt; {amp}lt;/h2{amp}gt; {amp}lt;ul class="article-list"{amp}gt; {amp}lt;li class="article-list-item"{amp}gt; {amp}lt;a href="{{url}}" class="article-list-link"{amp}gt;{{title}}{amp}lt;/a{amp}gt; {amp}lt;/li{amp}gt; {amp}lt;li class="article-list-item"{amp}gt; {amp}lt;a href="{{url}}" class="article-list-link"{amp}gt;{{title}}{amp}lt;/a{amp}gt; {amp}lt;/li{amp}gt; {amp}lt;/ul{amp}gt; {amp}lt;/section{amp}gt; 

Вопрос

Приведенный выше код динамически генерируется в нашей системе zendesk, в которой перечислены разделы и любые статьи, которые они содержат.

Мы хотим манипулировать этим в javascript, чтобы теги «li» учитывались в каждом классе «section».
Если раздел содержит только 1 элемент li, мы хотим взять URL из этого конкретного тега li и перезаписать URL в теге h2. Блок {amp}lt;ul{amp}gt; в этом разделе необходимо скрыть, так как ссылка в заголовке — это все, что требуется для поиска статьи.

Я знаю, что это очень странно, но цель этого — позволить пользователю получить доступ к любой отдельной статье напрямую.

Любая помощь и совет с благодарностью.

Я дал вашим разделам пользовательский класс my-section , чтобы этот код не мешал чему-либо еще, что у вас есть.

 const sections = document.querySelectorAll('.my-section'); sections.forEach(section ={amp}gt; { const sec_header = section.children[0]; const sec_ul = section.children[1]; if(sec_ul.children.length === 1) { // if we are here, it means there is only 1 "li" const only_li = sec_ul.children[0]; sec_header.children[0].href = only_li.children[0].href; sec_ul.hidden = true; } }); 
 {amp}lt;section class="section my-section"{amp}gt; {amp}lt;h2 class="section-tree-title"{amp}gt; {amp}lt;a href="header-1-url"{amp}gt;{{name}}{amp}lt;/a{amp}gt; {amp}lt;/h2{amp}gt; {amp}lt;ul class="article-list"{amp}gt; {amp}lt;li class="article-list-item"{amp}gt; {amp}lt;a href="li-1.1-url" class="article-list-link"{amp}gt;{{title}}{amp}lt;/a{amp}gt; {amp}lt;/li{amp}gt; {amp}lt;/ul{amp}gt; {amp}lt;/section{amp}gt; {amp}lt;section class="section my-section"{amp}gt; {amp}lt;h2 class="section-tree-title"{amp}gt; {amp}lt;a href="header-2-url"{amp}gt;{{name}}{amp}lt;/a{amp}gt; {amp}lt;/h2{amp}gt; {amp}lt;ul class="article-list"{amp}gt; {amp}lt;li class="article-list-item"{amp}gt; {amp}lt;a href="li-2.1-url" class="article-list-link"{amp}gt;{{title}}{amp}lt;/a{amp}gt; {amp}lt;/li{amp}gt; {amp}lt;li class="article-list-item"{amp}gt; {amp}lt;a href="li-2.2-url" class="article-list-link"{amp}gt;{{title}}{amp}lt;/a{amp}gt; {amp}lt;/li{amp}gt; {amp}lt;/ul{amp}gt; {amp}lt;/section{amp}gt;