我有一个wordpress页面。我有许多链接到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脚本只执行-after- jQuery已经分配了ID?或者......即使我完成了这项工作,它仍然无法工作,因为分配了ID attr。我想做什么动态不可靠?
TIA,
--- JC