Как копировать текст ссылок в буфер обмена?

Я столкнулся с тем, что если использовать несколько ссылок с одинаковым ID то не работает копирование в буфер. Насколько я помню, это по причине того, что ID должен быть уникальным. Как можно реализовать копирование? Можно используя например data атрибуты ?

Делаю так:
<?php
$coins[0]['name'] = "Adena";
$coins[1]['name'] = "Oren";
$coins[2]['name'] = "Giran";

echo "<br>";

for($i=0; $i < 3; $i++) {
   echo "<a id='copyticker' href='#'>".$coins[$i]['name']."</a>" . "<br>"; 
}

?>

<script>
    const copy = document.querySelector('#copyticker');
    copy.addEventListener('click',
        function(event) {
            event.preventDefault();
            const text = document.querySelector('#copyticker');
            navigator.clipboard.writeText(text.textContent);
        });  
</script>

Подскажите как копировать текст у нескольких ссылок ?
  • Вопрос задан
  • 172 просмотра
Пригласить эксперта
Ответы на вопрос 1
black1277
@black1277
Вольный стрелок
можно добавить дата-атрибут каждой ссылке:
<a data-mylink='copyticker' href='#'>coins1</a>
<a data-mylink='copyticker' href='#'>coins2</a>
<a data-mylink='copyticker' href='#'>coins3</a>

а в скрипте выбирать их по этому атрибуту:
const copy = document.querySelectorAll('a[data-mylink]')
...

ну и делать с ними что надо
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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