簡體   English   中英

未使用jQuery設置Twitter數據文本屬性

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM