Jquery使用数组/ JSON值从多个数据属性中检索数据

Joh*_*ahl 0 jquery json selector jquery-selectors custom-data-attribute

我的页面上有几个元素具有相同的数据属性,尽管值不同.元素的格式如下:

<input type="radio" data-toggle='["one","two","three"]'/>
Run Code Online (Sandbox Code Playgroud)

现在,我想从所有这些元素中获取数据,我想我可以做到:

var data = $('[data-toggle]').data("toggle");
Run Code Online (Sandbox Code Playgroud)

但是这只输出第一个元素的数据,忽略了具有该数据属性的所有其他元素.

我猜这与它的阵列/ JSON格式有关,但我不清楚为什么会这样,我应该如何去检索我的所有值.

如何从所有这些数据属性中获取所有数据?

这是一个说明我的问题的小提琴:http://jsfiddle.net/6u67o9oo/

tym*_*eJV 6

你必须迭代每个元素:

$('[data-toggle]').each(function() {
    var data = $(this).data("toggle");

    //Do stuff
});
Run Code Online (Sandbox Code Playgroud)

或者您可以使用.map获取所有data-toggle属性的2D数组:

var newArray = $('[data-toggle]').map(function() {
    return $(this).data("toggle");
}).get();
Run Code Online (Sandbox Code Playgroud)