0
            <h3>Something here</h3>
            <p id="copythis">Copy this code</p>

            <h3>Something here</h3>
            <p id="copythisone">Copy this other text</p>

            <h3>Something here</h3>
            <p id="copythisone">Copy this other text</p>


    <script type="text/javascript">
        $(document).ready(function(){
            $('#copythis').click(function(){

                var text = $("#copythis").get(0)
                var selection = window.getSelection();
                var range = document.createRange();
                range.selectNodeContents(text);
                selection.removeAllRanges();
                selection.addRange(range);
                document.execCommand('copy');
            })
        });
    </script>

我有不同的文本要复制(不是一次全部复制)。

此代码仅适用于一个文本。我如何为多人工作?

我刚刚更改了这部分并且它起作用了:

```var text = $(this).get(0)```

感谢@wahwahwah

4

2 回答 2

1

$('#copythis').on("click", function(){
    console.log($(this).text() + ": you clicked on '#copythis' ");
});

$('.copy').on("click", function(){
    console.log($(this).text() + ": you clicked on a element with the class 'copy'");
});

$('p').on("click", function(){
    console.log($(this).text() + ": you clicked on a <p> element'");
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<h3>Something here</h3>
<p id="copythis" class="copy">Copy this code</p>

<h3>Something here</h3>
<p id="copythisone" class="copy">Copy this other text</p>

<h3>Something here</h3>
<p id="copythisone" class="copy">Copy this other text</p>

使用 JQuery,您可以使用.text()来获取元素的内容p。您还可以更改选择器以获取所有“p”元素的内容。ID 选择器.(#copythis)将抓取与该 ID 相关的元素。类选择器(.copy)将附加到具有类“副本”的所有元素。

这将帮助您隔离正在单击的内容。你想用它做什么——将内容复制到剪贴板——可能会稍微改变逻辑,这取决于你是否可以控制 HTML 源代码,以及你如何决定复制什么和不复制什么。

于 2021-09-17T19:03:06.750 回答
0

我不知道你打算做什么,但基本上这条线

var text = $("#copythis").get(0);

是从您的 dom 中选择 p-node 的位置,之后将复制此 p-tag 的内容。

将其更改为

var text = $("#copythisone").get(0);

复制第二个 p 标签的内容

您可以将第三个 p-tag 的 id 更改为 sth。像copythisonetoo

 var text = $("#copythisonetoo").get(0);

获取第三个 p 标签的内容。

但是根据定义,一个 id 在您的文档中应该是唯一的。参考这个链接: https://www.w3schools.com/html/html_id.asp#:~:text=The%20id%20attribute%20specifies%20a,element%20with%20the%20specific%20id。

您可以创建一个方法,其中包含要复制的文本或 id 的参数。

有了一些额外的信息和您的特定用例,我们可能会为您提供最大的帮助。

于 2021-09-17T18:49:53.723 回答