我想從getJSON調用中更改href值。以下工作在通話之外,但不在裏面。有任何想法嗎?
$("#tweetButton").prop("href", "https://twitter.com/intent/tweet?text=test&url=%20&hashtags=quotes");
HTML:
<div id="quote">
<div id="quoteText">
Test
</div>
</br>
<a id="tweetButton" href="https://twitter.com/intent/tweet?text=&url=%20&hashtags=quotes" class="twitter-share-button">Tweet</a>
<button id="btnNewQuote">New Quote</button>
</div>
的jQuery:
$(document).ready(function() {
$.ajaxSetup({ cache: false });
$.getJSON("http://quotesondesign.com/wp-json/posts?filter[orderby]=rand&filter[posts_per_page]=1&callback=", function(a) {
$("#tweetButton").prop("href", "https://twitter.com/intent/tweet?text=test&url=%20&hashtags=quotes");
$("#quoteText").html(a[0].content + "<p>— " + a[0].title + "</p>");
// $("#tweetButton").attr("href", "https://twitter.com/intent/tweet?text=" + encodeURI(a[0].content) + encodeURI(" -") + a[0].title + "&url=%20&hashtags=quotes");
});
$("#btnNewQuote").click(function(){
$.getJSON("http://quotesondesign.com/wp-json/posts?filter[orderby]=rand&filter[posts_per_page]=1&callback=", function(a) {
$("#quoteText").html(a[0].content + "<p>— " + a[0].title + "</p>");
$("#tweetButton").prop("href", "https://twitter.com/intent/tweet?text=test&url=%20&hashtags=quotes");
});
});
});
感謝,但是,.attr()未調用的getJSON裏面工作,要麼,但外面工作正常。 第二個答案在這裏:http://stackoverflow.com/questions/179713/how-to-change-the-href-for-a-hyperlink-using-jquery指示使用.prop()爲jQuery 1.6及以上 – RoyalKing
@RoyalKing更新 – Ouroborus
有趣的是,我在API的開發者網站(https://quotesondesign.com/api-v4-0/)上找到了getJSON代碼。話雖如此,我將我的代碼切換到直接使用您的ajax代碼,並嘗試使用.attr()修改href值。同樣,它在ajax調用之外工作,但不在成功之內(而成功內部的其他語句正常工作)。 – RoyalKing