如何使用clipboard.js获取href属性?

时间:2018-04-28 14:14:56

标签: javascript html href clipboard.js

我试图在点击按钮后获取href属性,但我无法使其工作。

我的代码:

    <!-- Target -->
    <a href='https://clipboardjs.com/' id='foo'/>

 <!-- Trigger -->  
<button class='btn' data-clipboard-target='#foo'>
    Copy to clipboard
</button>  

<script type="text/javascript">
        new Clipboard(".btn", {
          text: function(trigger) {
            return $(trigger).getAttribute("href");
          }
        });
</script>

任何想法?

谢谢

2 个答案:

答案 0 :(得分:0)

getAttribute是一个Native DOM方法,您无法直接应用于jQuery包装元素。您需要获取Native DOM元素或使用jQuery的attr()方法获取href的值:

$(trigger)[0].getAttribute("href");
// OR
$(trigger).attr("href");

答案 1 :(得分:0)

试试这个:

new ClipboardJS(".btn", {
  text: function(trigger) {
    const query = trigger.getAttribute('data-clipboard-target');
    const target = document.querySelector(query);
    return target.getAttribute('href');
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script>

<!-- Target -->
<a href='https://clipboardjs.com/' id='foo'></a>

 <!-- Trigger -->  
<button class='btn' data-clipboard-target='#foo'>
    Copy to clipboard
</button>