2017-03-04 4 views
0

私はツイートボタンを私の見積もり機から見積もりを共有しようとしています。

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

が、それは動作しません何らかの理由で - 。そのために私はそれが持つhrefだ変えてみました。何が問題なのか。

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:$("#twitter-widget-0").attr("href", "https://twitter.com/intent/tweet?ext=" + thisQuote);が生成引用ボタンの上内に配置されたため、Ifは働いていなかった

$(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

'#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

( "クリック" ) 関数。そのため、Generate Quoteボタンが最初にクリックされた場合にのみ機能しました。

コードを$(document).readyの下に置くと機能します。しかし、私のthisQuote varがないと、グローバル変数ではないからです。

関連する問題