2017-03-04 175 views
0

我想讓推文按鈕分享我的報價機器的報價。爲此,我試圖改變它的href有; -

$("#twitter-widget-0").attr("href", "https://twitter.com/intent/tweet?ext=" + thisQuote); 

,但由於某種原因,這是行不通的。可能是什麼問題。

P.S. "#twitter-widget-0"未在我的html中定義,但是這是Twitter按鈕創建的呈現的iframe的ID。

這裏是我的筆:http://codepen.io/s4ek1389/pen/zZGNWw?editors=0110

HTML:

<a href="https://twitter.com/share" class="twitter-share-button" data-size="large">Tweet</a> 
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script> 

JS:

$(document).ready(function(){ 

    $("#gen").on("click", function(){ 
    $.ajaxSetup({cache:false}); 
$.getJSON("http://quotesondesign.com/wp-json/posts?filter[orderby]=rand&filter[posts_per_page]=1&callback=", function(json) { 

    var author = ""; 
    var quote = ""; 

    json.forEach(function(val){ 
    author+= val.title;  
    quote+= val.content; 
    }) 


    $("#author").html(author); 
    $("#mainquote").html(quote); 
    var thisQuote = quote + " " + author; 
    $("#twitter-widget-0").attr("href", "https://twitter.com/intent/tweet?ext=" + thisQuote); 
}); 
    });  


    }); 
+0

關於你的postscript'#twitter-widget-0'沒有在你的html中定義,那個元素創建的是什麼時候?你不能使用'$(「#twitter-widget-0」)。attr()'來更新一個還不存在的元素。 – nnnnnn

+0

感謝您指出這一點,但將「#twitter-widget-0」更改爲「.twitter-share-button」或甚至「a」仍然沒有幫助 –

+0

是的,我需要更改'a'的href標籤。我的鏈接是「twitter.com/share」我需要將其更改爲「https://twitter.com/intent/tweet?ext=」+ thisQuote; –

回答

0

如果沒有工作,因爲$("#twitter-widget-0").attr("href", "https://twitter.com/intent/tweet?ext=" + thisQuote);被放置在生成報價單按鈕的上( 「點擊」 )功能。所以它只有在Generate Quote按鈕被首先點擊時才起作用。

如果我將代碼置於$(document).ready之下,則可以使用。但沒有我的thisQuote var,因爲它不是全局變量。