javascript - 使用 jquery .each() 增加 attr 值

标签 javascript jquery html increment impress.js

我使用 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/

相关文章:

html - 如何混合描述同一对象的本体(使用 rdfa?)

javascript - 工厂 Angular.js 不显示错误消息

JQuery-UI CSS 列表位置底部

javascript - 使折叠下的文本在切换隐藏显示时不移动

jquery - FullCalendar 不加载事件

jquery - DataTables - 从所有选定的行中获取单个列的值

javascript - 使用 jQuery 包裹元素

javascript - 在 JavaScript 中将字符串转换为数组

javascript - Ajax 调用。将值传递给另一个 php 文件

javascript - 地理包不渲染多边形来映射