这是我的脚本标记


 < script
 SRC = “https://checkout.razorpay.com/v1/checkout.js” 
数据密钥= “ABCD” 
数据量= “100” 
 data-buttontext =“用Razorpay支付”
 data-name =“Seven Atara”
 data-description =“网站购买”
数据图像= “https://your-awesome-site.com/your_logo.jpg” 
 data-prefill.name =“Harshil Mathur”
 data-prefill.email = “support@razorpay.com” 
数据theme.color = “#F37254” 
 id =“paymentWidget”
>< / script>



 如何更改数据的值-amount =“100”
到我想要的值
我试过


 document.getElementById(“paymentWidget”)。attr(“data-amount”)= total



 但它显示的错误如


 document.getElementById(...)。attr不是函数



 我如何解决这个问题并动态设置值?

答案 0 :(得分:1)
您的问题已使用Jquery标记,但您使用纯JavaScript来获取DOM中的元素
尝试将其更改为使用Jquery选择器并正确设置属性
$('#paymentWidget').attr('data-amount', total)
您的代码无法正常工作的原因是您尝试在不属于Jquery对象的某些内容上使用Jquery method .attr
。
或者您可以使用.data
$('#paymentWidget').data('amount', total)
主要区别在于.data
不会更改DOM
答案 1 :(得分:1)
首先包括对jquery库文件的引用。 然后重写代码如下,
$('#paymentWidget').attr("data-amount",desired-value);
答案 2 :(得分:0)
试试这个
document.getElementById('paymentWidget').setAttribute('data-amount', total)
答案 3 :(得分:0)
右边的函数是setAttribute,检查它的语法如下:
document.getElementById("paymentWidget").setAttribute('data-amount', total)
答案 4 :(得分:0)
您可以使用dataset
。当您的属性以data-
开头时使用数据集。
在你的例子中:
document.getElementById("paymentWidget").dataset.amount = total;
对此的支持是IE> 11
如需更多支持,请使用element.setAttribute("attribute", "value")
了解有关MDN的更多信息: https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dataset