私はワードプレスのページを持っています。PayPalObjects へのリンクがいくつかあります。PayPalObjects では、購入をトリガーする要素の ID へのトリガーを含むコードをページのフッターに配置する必要があります。例えば...
<a id="buysong_4" target="PPDGFrame" title="Click here to buy this song now.">$</a>
...そして、ページのフッターで:
<script type="text/javascript">
var embeddedPPFlow1 = new PAYPAL.apps.DGFlow( {trigger : 'buysong_1'});
function MyEmbeddedFlow(embeddedFlow) {
this.embeddedPPObj = embeddedFlow;
this.paymentSuccess = function() {
this.embeddedPPObj.closeFlow();
window.location.href = "http://whatever.com/success/";
};
this.paymentCanceled = function() {
this.embeddedPPObj.closeFlow();
top.location.href = "http://whatever.com/fail/";
};
}
var myEmbeddedPaymentFlow1 = new MyEmbeddedFlow(embeddedPPFlow1);
</script>
現在、そのようなリンクが数十あるため、これらの ID をコンテンツにハードコーディングすることは避けたいと考えていました。例えば...
<a class="buysong" target="PPDGFrame" title="Click here to buy this song now.">$</a>
そこで、次の jQuery を追加しました。
jQuery('.buysong').each(function(index, element) {
jQuery(this).attr('id', 'buysong_' + (index+1) );
});
レンダリングされたページは ID 属性を各リンクに正しく追加しますが、PayPal js は正しくトリガーされません。IOW: ID をページに「ハードコード」する必要があります。これは、jQuery が PayPal スクリプトの後に起動していると思わせます。
では、どうすれば PayPalObjects スクリプトに、jQuery が ID を割り当てた後にのみ実行するように「指示」できますか? または...たとえそれを達成したとしても、ID属性を割り当てるため、まだ-機能しません。私がやりたいことに対して動的に信頼できないのですか?
ティア、
---JC