我有这个codePen那是一个随机报价生成器。 我还有一个 tweet 按钮,可以发送生成的报价。 目前按下它时,它会发布另一个随机报价,而不是当前显示的报价。这是函数:
$(".twitter-share-button").click(function(){
$(this).attr("href", 'https://twitter.com/intent/tweet?text=' + randomNumber);
});
function tweetIt(){
var randomNumber = Math.floor(Math.random() * (quotes.length));
window.open("https://twitter.com/intent/tweet?text=" + quotes[randomNumber]);
}
我尝试通过选择引用所在的当前 ID 来解决此问题,但无济于事:
function tweetIt(){
var tweet = document.getElementById('quote').value;
window.open("https://twitter.com/intent/tweet?text=" + quotes[randomNumber]);
};
如有任何帮助,我们将不胜感激。
最佳答案
您正在将当前报价存储在 ID 为“quoteDisplay”的元素中:
function newQuote() {
var randomNumber = Math.floor(Math.random() * (quotes.length));
// The content for your tweet is being set here
document.getElementById('quoteDisplay').innerHTML = quotes[randomNumber];
};
因此您需要定位 textContent
如果您想在推特上发布当前报价,请为该特定元素添加属性:
function tweetIt(){
// Get the contents of your current tweet
var tweet = document.getElementById('quoteDisplay').textContent;
// Open a new window with that tweet content
window.open("https://twitter.com/intent/tweet?text=" + tweet);
};
关于javascript - 按钮未正确发送文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41993308/