@lemonlimelike

Как написать такую функцию?

Всем привет! На странице выводится записи. Есть js скрипт который берет нужное поле и делает с ним разные махинации. Как мне этот скрипт записать в функцию и просто передавать из каждой записи нужное поле, а затем выводить то что получилось? Вот скрипт:
var divGenre = document.querySelector('#genre{!!$item->id!!}');
  var genres = '{!!$item->genre!!}'.split(', ');
  genres.forEach((el,index) =>{
    let a = document.createElement('a');
    a.setAttribute('href', '/category/'+el);
    a.setAttribute('class','content__box__genre--links');
      a.innerText = el+' ';
      divGenre.appendChild(a);
  });


Сделал так, но оно не работает:
5c6c5b1643a87989906714.png5c6c5b0c52e68644434854.png
  • Вопрос задан
  • 222 просмотра
Решения вопроса 1
potapchino
@potapchino
<body>
  <div><span class="span" data-genres="a, b, c"></span></div>
  <div><span class="span" data-genres="d, e, f"></span></div>
  <div><span class="span" data-genres="g, h, i"></span></div>
  <div><span class="span" data-genres="j, k, l"></span></div>
  
  <script>
    function addGenres(genres, container) {
      genres.split(', ').forEach(genre => {
        const linkNode = document.createElement('a');
        const textNode = document.createTextNode(genre);

        linkNode.setAttribute('href', `/category/${genre}`);
        linkNode.setAttribute('class', 'content__box__genre--links');
        linkNode.appendChild(textNode);

        container.appendChild(linkNode);
      })
    }
  </script>
  <script>
    document.querySelectorAll('.span').forEach(el => {
      addGenres(el.dataset.genres, el)
    })
  </script>
</body>

Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы