更改Tweet按钮的href?

时间:2016-12-25 02:03:59

标签: javascript twitter

我正在尝试在网站上发布推文按钮;推文将预先填充文本,该文本根据div中的文本(可由用户更改)而更改。正常的href值是https://twitter.com/intent/tweet?text=whatever-text-here,但由于我需要根据特定条件更改预先填充的文本,因此我尝试添加onClick函数。现在,我只是想将href更改为“... text =”+“whatever-text-here”以查看是否有效,但在将来,我需要将其更改为“... text =“+ someVariable。

我对此很新;谁能解释为什么这不起作用?这是codepen的链接。

HTML:

<a class="twitter-share-button"
  href="#" onclick="tweetContent()";
  data-size="large">
Tweet</a>

JS:

function tweetContent() {
    document.getElementsByClassName("twitter-share-button").href="https://twitter.com/intent/tweet?text=" + "quote";
}

1 个答案:

答案 0 :(得分:0)

getElementsByClassName(如名称中所示)返回Elements(复数,不是单数)。

您将需要逐个检查它们,并设置href属性:

function tweetContent() {
    var anchorElements = document.getElementsByClassName("twitter-share-button")
    Array.prototype.forEach.call(anchorElements, function(e) {
        e.href="https://twitter.com/intent/tweet?text=" + "quote";
    })
}

这是一个有效的例子:

function tweetContent() {
  var anchorElements = document.getElementsByClassName("twitter-share-button")
  Array.prototype.forEach.call(anchorElements, function(e) {
    e.href="https://twitter.com/intent/tweet?text=" + "quote";
  })
}

tweetContent()
<a href="" class="twitter-share-button">a</a>
<a href="" class="twitter-share-button">b</a>