Javascript - перебирайте список, чтобы выбрать следующий идентификатор, используя nextElementSibling - PullRequest
0 голосов
/ 19 сентября 2018

Добавляя функцию копирования в буфер обмена в моем приложении, clipboard предлагает использовать data-clipboard-target для нацеливания на id элемента, который вы хотите скопировать.

Поскольку я создаюВ приведенном ниже списке циклически перебираются записи Job, все элементы используют один и тот же id (#bar).

Как я могу сделать функцию буфера обмена более надежной, чтобы перебирать различные элементы списка и выбирать href из job.url?Я пытался использовать nextElementSibling, но безуспешно.

index.html.haml

- jobs.each do |job|
  %li
    %button{class: 'clipboard-btn', "data-clipboard-action": "copy", "data-clipboard-target": "#bar"}
      = image_tag('link.svg')
    .source
      = link_to "(" + uri_parse(job.url) + ")", job.url, id: 'bar'

application.js

new Clipboard(".clipboard-btn", {
    text: function(trigger) {
      const query = trigger.getAttribute('data-clipboard-target');
      const target = document.querySelector(query);
      return target.getAttribute('href');
    }
  })
...