如何更改<script>标记的属性

时间:2017-11-17 11:54:51

标签: javascript html

这是我的脚本标记

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

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

&#xA;&#xA;

我试过

&#xA;&#xA;
  document.getElementById(“paymentWidget”)。attr(“data-amount”)= total&#xA;  
&#xA;&#xA;

但它显示的错误如

&#xA;&#xA;
  document.getElementById(...)。attr不是函数&#xA;  
&#xA;&#xA;

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

&#xA;

5 个答案:

答案 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&gt; 11

如需更多支持,请使用element.setAttribute("attribute", "value")

了解有关MDN的更多信息: https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dataset