Как я могу вставить скопированные ссылки на каждой новой строке? - PullRequest
0 голосов
/ 24 апреля 2020

У меня есть ссылки на все результаты поиска Google. У меня есть чекер, по какой ссылке я отмечаю, я могу их скопировать. мой код работает хорошо, но я хочу, чтобы каждая ссылка, которую я получаю, будет в новой строке. ... Может кто-то мне помочь, пожалуйста? я пытался добавить "<br>", но он ничего не делает;

вот мой код



$( ".copy" ).click(function() {
                    var inp = $("<input>");
                    $("body").append(inp);
                    var str = ""
                    var br = document.createElement('br');
                    $('a').filter(':has(:checkbox:checked)').each(function() {                     
                        str+= $(this).attr('href') + br ;
                    });

                    inp.val(str).select();
                    document.execCommand("copy");
                    inp.remove();
                })



Ответы [ 2 ]

0 голосов
/ 24 апреля 2020

Я попробовал этот ответ, а затем понял, что вы хотели, чтобы у вас было событие 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>
0 голосов
/ 24 апреля 2020

Изменить эту строку // str + = $ (this) .attr ('href') + br; }); На это:

     str+= $(this).attr('href') + "<br>" ;
                });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...