我使用 impress.js 进行演示,而不是将其用于花哨的东西,我只希望幻灯片彼此相距 900 像素。我可能需要根据演示文稿的长度添加/删除幻灯片,而不是更改每个 data-y 值,我想使用 jQuery 循环浏览每张幻灯片并向每个幻灯片位置添加 900px。这是我正在使用的 jQuery:
var counter = 0;
$('.slide').each(function(){
var posY = counter * 900;
$(this).attr("data-y", posY);
counter++;
});
但它没有将值添加到我的 html 中的 data-y 属性中。我相信代码是正确的,我只是不确定为什么它不起作用。
最佳答案
尝试使用 data()更改数据值的函数
$(this).data("y", posY);
来自文档
HTML5 数据-* 属性
As of jQuery 1.4.3 HTML 5 data- attributes will be automatically pulled in to jQuery's data object. The treatment of attributes with embedded dashes was changed in jQuery 1.6 to conform to the W3C HTML5 specification.
关于javascript - 使用 jquery .each() 增加 attr 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24064737/