如何将 jQuery 放入 <script> 属性中?
How can I put jQuery in <script> attribute?
如果我编写如下代码,条纹模态按钮将可见。
<script
src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="pk_test_11a6LFgOQ9rZ3d54Qd0uBF8c"
data-amount="2000"
data-name="Oyon Shop"
data-description="Thank you for puchasing!"
data-image="/img/demo.png"
data-locale="auto">
</script>
我的数据量值为$('#amount').val()
。所以我做了以下方式。
<script>
$("<script>", {
src:"https://checkout.stripe.com/checkout.js",
class: "stripe-button",
"data-key": "pk_test_11a6LFgOQ9rZ3d54Qd0uBF8c",
"data-amount": $('#amount').val(),
"data-name": "Oyon Shop",
"data-description": "Thank you for puchasing!",
"data-image": "/img/demo.png",
"data-locale": "auto",
}).appendTo("head");
</script>
但是之后,条纹支付按钮就看不到了。你能帮我找出错误吗?
你可以像这样在脚本标签中添加属性值,
试试这个:
$( document ).ready(function() {
$("script").attr("data-amount",$('#amount').val())
});
您实际上可以使用 appendTo
这样做:
$("<script>", {
src:"https://checkout.stripe.com/checkout.js",
class: "stripe-button",
"data-key": "pk_test_11a6LFgOQ9rZ3d54Qd0uBF8c",
"data-amount": $('#amount').val(),
"data-name": "Oyon Shop",
"data-description": "Thank you for puchasing!",
"data-image": "/img/demo.png",
"data-locale": "auto",
}).appendTo("head");
或使用传统方式:
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'https://checkout.stripe.com/checkout.js';
script.setAttribute('class', "stripe-button");
script.setAttribute("data-key", "pk_test_11a6LFgOQ9rZ3d54Qd0uBF8c");
script.setAttrubute("data-amount", document.querySelector('#amount').value);
script.setAttribute("data-name", "Oyon Shop");
script.setAttribute("data-description", "Thank you for puchasing!");
script.setAttribute("data-image", "/img/demo.png");
script.setAttribute("data-locale", "auto");
document.getElementsByTagName('head')[0].appendChild(script);
你可以有这个代码
$("script").attr("data-amount",$('#amount').val())
在您自己的用户定义方法中。
$('#amount').val() 在调用 .ready() 方法时可能没有值。
所以把它放在你定义的任何函数中是有意义的,这样你就可以把它放在你确定 $('#amount') 的地方。 val() 届时将具有所需的值。
如果我编写如下代码,条纹模态按钮将可见。
<script
src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="pk_test_11a6LFgOQ9rZ3d54Qd0uBF8c"
data-amount="2000"
data-name="Oyon Shop"
data-description="Thank you for puchasing!"
data-image="/img/demo.png"
data-locale="auto">
</script>
我的数据量值为$('#amount').val()
。所以我做了以下方式。
<script>
$("<script>", {
src:"https://checkout.stripe.com/checkout.js",
class: "stripe-button",
"data-key": "pk_test_11a6LFgOQ9rZ3d54Qd0uBF8c",
"data-amount": $('#amount').val(),
"data-name": "Oyon Shop",
"data-description": "Thank you for puchasing!",
"data-image": "/img/demo.png",
"data-locale": "auto",
}).appendTo("head");
</script>
但是之后,条纹支付按钮就看不到了。你能帮我找出错误吗?
你可以像这样在脚本标签中添加属性值, 试试这个:
$( document ).ready(function() {
$("script").attr("data-amount",$('#amount').val())
});
您实际上可以使用 appendTo
这样做:
$("<script>", {
src:"https://checkout.stripe.com/checkout.js",
class: "stripe-button",
"data-key": "pk_test_11a6LFgOQ9rZ3d54Qd0uBF8c",
"data-amount": $('#amount').val(),
"data-name": "Oyon Shop",
"data-description": "Thank you for puchasing!",
"data-image": "/img/demo.png",
"data-locale": "auto",
}).appendTo("head");
或使用传统方式:
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'https://checkout.stripe.com/checkout.js';
script.setAttribute('class', "stripe-button");
script.setAttribute("data-key", "pk_test_11a6LFgOQ9rZ3d54Qd0uBF8c");
script.setAttrubute("data-amount", document.querySelector('#amount').value);
script.setAttribute("data-name", "Oyon Shop");
script.setAttribute("data-description", "Thank you for puchasing!");
script.setAttribute("data-image", "/img/demo.png");
script.setAttribute("data-locale", "auto");
document.getElementsByTagName('head')[0].appendChild(script);
你可以有这个代码
$("script").attr("data-amount",$('#amount').val())
在您自己的用户定义方法中。
$('#amount').val() 在调用 .ready() 方法时可能没有值。
所以把它放在你定义的任何函数中是有意义的,这样你就可以把它放在你确定 $('#amount') 的地方。 val() 届时将具有所需的值。