我遇到以下问题:我已经建立了一个报价生成器(freecodecamp),并且需要能够通过Twitter 引用该报价 。我的方法是通过Twitter web意图,文本是我通过API收到的数据。它只工作一次。
HTML:
<p>Share the wisdom</p>
<a class="twitter-share-button" href="#" target="_blank">
<span class="fa-stack fa-lg">
<i class="fa fa-circle fa-stack-2x"></i>
<i class="fa fa-twitter fa-stack-1x fa-inverse"></i>
</span>
</a>
JS:
<script>
function myFunction() {
var firstName = document.getElementsByName("firstname")[0].value;
var trumpAPI = "https://api.whatdoestrumpthink.com/api/v1/quotes/personalized?q="+firstName;
$.getJSON(trumpAPI, function(data, status){
document.getElementById("trump").innerHTML = data.message;
$('a[href="#"]').attr("href","https://twitter.com/intent/tweet?text="+data.message+"&hashtags=trump, quoteoftheday");
});
document.getElementById("trump").classList.add("border");
}
</script>
可能是web意图中的text参数不是动态的吗?有任何建议如何解决这个问题?提前谢谢。
答案 0 :(得分:0)
我必须猜一点,因为你没有分享你的完整功能,我假设你做的是这样:
myFunction()
。如果这是正确的,那么问题是你的<a>
元素在第一次运行函数后不再有href="#"
; href
现在是意图链接。因此,$('a[href="#"]')
不再在第二次通话中选择该链接。如果您改用$(".twitter-share-button")
,它应该有用。