【发布时间】:2019-12-07 20:26:13
【问题描述】:
我的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>
控制台截图
错误截图
【问题讨论】:
-
$(this).data('x') = "580";在语法上是错误的......$(this).attr("data-x", "580");应该可以工作......你怎么说它不工作 -
如果你使用data-api访问值那么需要使用
$(this).data("x", "580"); -
api.jquery.com/data 参考这个
-
很可能,您的 DOM 在脚本执行时没有加载。使用 jQuery document ready 或 window.onload 函数。
标签: javascript jquery html custom-data-attribute