Я попробовал этот ответ, а затем понял, что вы хотели, чтобы у вас было событие onclick (поэтому я создал кнопку). Ответ проще, чем вам может показаться. В jquery есть метод after () , полезный только для такого случая, как этот.
Однако, поскольку вы добавляете данные при каждом нажатии копии, вы можете добавить проверку, чтобы увидеть, есть ли разрыв после ссылки (чтобы добавить только ссылки, которые не имеют разрыва), или добавьте класс, чтобы указать, что разрыв был добавлен, и используйте :not
(просто мысль. В противном случае вы могли бы получить множество разрывов!
Если вы хотите разбить их, не при щелчке (например, при готовности документа) проблем будет меньше.
Надеюсь, это поможет.
$(".copy").click(function() {
var inp = $("<input>");
$("body").append(inp);
var str = ""
var br = document.createElement('br');
/*I took the filter out for demo purposes)*/
$("a").after(br);
inp.val(str).select();
document.execCommand("copy");
inp.remove();
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<body>
<a href="#">Hello</a><a href="#">Home</a>
</body>
<br><br>
<button class="copy">Copy</button>