javascript - 动态添加数据属性

标签 javascript jquery html custom-data-attribute

我的html是

<div id="ctup-ads-widget-2" class="caption slide-heading "  data-x="380" data-y="80" data-speed="1800" data-start="1200" data-easing="easeOutExpo">Hui</div>

我正在尝试动态更改 dat=x 和 data-y 的值

下面两个我都试过了,都没有用。

<script>
$('#ctup-ads-widget-2').click(function() {

    $(this).attr("data-x", "580");
});
</script>

<script>
$('#ctup-ads-widget-2').click(function() {
    $(this).data('x') = "580";
});
</script>

<script>
window.onload = function() {
    var anchors = document.getElementById('ctup-ads-widget-2');
    for (var i = 0; i < anchors.length; i++) {
        anchors[i].setAttribute('data-x', '580');
        anchors[i].setAttribute('data-y', '30');
    }
}
</script>

控制台截图

enter image description here

错误截图

enter image description here

最佳答案

不能像这样使用它

$(this).data('x') = "580";//won't work

尝试使用 data()

 $(this).data("x","580"); //$(this).attr("data-x", "580") should also work

更新

将其包含在 $(document).ready..

$(document).ready(function(){
  $('#ctup-ads-widget-2').click(function() {
    $(this).data("x","580");
  });
})

关于javascript - 动态添加数据属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30635402/

相关文章:

javascript - 为什么 javascript 报告 Motorola Atrix MB860 4G 的宽度为 800px?不应该是540px吗

javascript - 提交表单,无需刷新并将 mysql 返回的行追加到表中

javascript - jquery 在相对于 'This' 的多个元素上运行相同的函数

javascript - Jquery Queue() Each() 与延迟()

javascript - 如何将带有 "onclick"的 javascript 输出到文本字段中?

javascript - 在angularjs中对数组进行排序

javascript - 如何使一个复选框不可点击*而不*它在浏览器中变灰?

javascript - 为 Kendo UI 窗口添加全局函数

html - 检查输入时更改背景颜色

html - 我可以自定义编辑 WordPress 图像页面吗?