我试图让推文按钮与我的报价机器分享报价。为此,我尝试将其更改为href
; -
$("#twitter-widget-0").attr("href", "https://twitter.com/intent/tweet?ext=" + thisQuote);
但由于某种原因它不起作用。可能是什么问题。
P.S。我的html中未定义"#twitter-widget-0"
,但这是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 :(得分:0)
如果因为$("#twitter-widget-0").attr("href", "https://twitter.com/intent/tweet?ext=" + thisQuote);
被放置在Generate Quote按钮(“click”)功能中而无法正常工作。因此,只有在首次点击Generate Quote按钮时才有效。
如果我将代码置于$(document).ready
下,则可行。但没有我的thisQuote
var,因为它不是全局变量。