Агрегация списка с использованием javascript - PullRequest
0 голосов
/ 21 апреля 2020

Я новичок в JS, и я пытался объединить элементы списка (маркеры) с вводным утверждением списка в один элемент абзаца (с тегом

) Для элементов короткого списка ( максимум 20 слов на элемент). Остальные списки с длинными элементами превращаются в набор абзацев. Каждый абзац представляет собой отдельный элемент списка, которому предшествует вводная инструкция списка

Вывод должен быть: объяснен желаемый вывод примера агрегации списка

Мой код:

function removebps() {
  let bps = document.querySelectorAll('li');
  bps.forEach(li => {
    var firstChild = Array.from(li.children)     
     if(firstChild != null){
          firstChild.forEach(child => {
              if(child.tagName == 'UL'){                
                    var secondChild = Array.from(child.children)
                  secondChild.forEach(secondChild => {
                      console.log(secondChild.parentElement.parentElement.firstChild)
                      secondChild.parentElement.parentElement.firstChild.textContent += secondChild.innerText
                      secondChild.remove();
                  })
                
              }
          })
      }
  });
}
<html>
<body>
    <h2>Other useful privacy and security related materials</h2>
    <ul>
        <li>technologies and principles, which includes, among other things, more information on
        <ul>
        <li>how Google uses cookies.
        </li><li>technologies we use for advertising.
        </li><li>how we <strong>recognize</strong> patterns like faces.</li></ul>
        </li><li>A page that explains what data is shared with Google when you visit websites that use our advertising, analytics and social products.
        </li><li>The Privacy Checkup tool, which makes it easy to review your key privacy settings.
        </li><li>Google’s safety center, which provides information on how to stay safe and secure online.</li></ul>
    </ul>
    <button onclick="removebps();">Remove Bullet points</button>
</body>
</html>

Есть ли более элегантный способ сделать это?
И как я могу принять во внимание, что при агрегации должно быть не более 20 слов на элемент? И можно ли это сделать рекурсивно для вложенного ul в li пару раз?
Большое спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...