javascript - 如何使用jquery获取对象中元素的数据属性?

标签 javascript jquery custom-data-attribute

我有一个像这样编译的按钮循环

<button class="add-line btn btn-info btn-sm" id="cat1" data-cat="[1,2,3,4,5,6,7]">cat1</button>
<button class="add-line btn btn-info btn-sm" id="cat2" data-cat="[8,9]">cat2</button>
<button class="add-line btn btn-info btn-sm" id="cat3" data-cat="[10,11]">cat3</button>

在 Jquery 中,我得到的数据是这样的

let cat1 = $('#cat1').data('cat');
let cat2 = $('#cat2').data('cat');
let cat3 = $('#cat3').data('cat');

但这是硬编码,因为我知道有这 3 个 ID。我想创建一个对象并动态地制作这个东西。如何做到这一点?

最佳答案

创建一个对象,然后使用 .each() 遍历元素,并在循环中将 data-cat 的值添加到对象。

var cats = {};
$("#cat1, #cat2, #cat3").each(function(){
  cats[this.id] = $(this).data("cat");
});
console.log(cats);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="add-line btn btn-info btn-sm" id="cat1" data-cat="[1,2,3,4,5,6,7]">cat1</button>
<button class="add-line btn btn-info btn-sm" id="cat2" data-cat="[8,9]">cat2</button>
<button class="add-line btn btn-info btn-sm" id="cat3" data-cat="[10,11]">cat3</button>

关于javascript - 如何使用jquery获取对象中元素的数据属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52699182/

相关文章:

javascript - 在 MongoDB 中重新排序数组

JavaScript 在外部点击时关闭

javascript - 从 parent 到 child 应用相同的填充值?

javascript - 在 IE9 中 javascript 不起作用,但打开控制台后它可以工作

javascript - 作为 Slim 中元素属性的一部分的内联 Javascript 变量

javascript - Ractive with Require 例子

javascript - 将工具提示保留在父容器中?

javascript - .点击 li 追加后不起作用

jquery - 如何使用自己的数据属性设置CSS属性?

javascript - 数据属性 - jquery 中的获取和设置