[英]Changing the value of data-text attribute of the Twitter button dynamically based on input data from an API using jquery
[英]Twitter data-text attribute is not set using jQuery
我正在使用Twitter上的以下按鈕來發布消息。
<a id="tweet" href="https://twitter.com/share" class="twitter-share-button" data-text="Husam" data-size="large" data-count="none">Tweet it!</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');
</script>
在我的JS文件中,我正在嘗試使用jQuery attr函數更改data-text屬性,以便它發布我想發布的信息。
$("#tweet").attr("data-text","what I want to tweet");
它只是無法正常工作,我無法更改data-text屬性。 有任何想法嗎?
您可以在此處查看代碼: http : //codepen.io/husamp/pen/YyKLze
我認為發生了什么事,當對Twitter JavaScript進行評估時, <a id="tweet" ...
被iFrame替換,因此您的$(#tweet)
實際上不會找到任何元素,因此未設置data屬性。
查看“ 推特按鈕參考”,並考慮使用JavaScript工廠示例在每次報價更改時重新創建推特按鈕。
twitter的示例代碼為:
twttr.widgets.createShareButton(
"https:\/\/dev.twitter.com\/web\/tweet-button",
document.getElementById("tweet-container"),
{
size: "large",
via: "twitterdev",
related: "twitterapi,twitter",
text: "PUT UPDATED SHARE TEXT HERE",
hashtags: "example,demo"
}
);
因此,在更改報價時,您需要清除舊的tweet按鈕,然后在#tweet-container
插入一個新按鈕
您可以使用https://api.jquery.com/data/獲取和設置數據值
設定值
$('#tweet').data('text', 'what I want to tweet');
獲得價值
$('#tweet').data('text');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.