Jquery 从具有 array/JSON 值的多个数据属性中检索数据
Jquery retrieving data from multiple data attributes with with array/JSON values
我的页面上有几个元素具有相同的数据属性,尽管值不同。元素的格式如下:
<input type="radio" data-toggle='["one","two","three"]'/>
现在,我想从所有这些元素中获取数据,我想我可以这样做:
var data = $('[data-toggle]').data("toggle");
但这只输出第一个元素的数据,所有其他具有该数据属性的元素都将被忽略。
我猜这与 arrays/JSON 格式有关,但我不清楚为什么会这样,也不清楚我应该如何检索我的所有值。
如何从所有这些数据属性中获取所有数据?
这里 fiddle 说明了我的问题:http://jsfiddle.net/6u67o9oo/
您必须遍历每个元素:
$('[data-toggle]').each(function() {
var data = $(this).data("toggle");
//Do stuff
});
或者您可以使用 .map
获取所有 data-toggle
属性的二维数组:
var newArray = $('[data-toggle]').map(function() {
return $(this).data("toggle");
}).get();
我的页面上有几个元素具有相同的数据属性,尽管值不同。元素的格式如下:
<input type="radio" data-toggle='["one","two","three"]'/>
现在,我想从所有这些元素中获取数据,我想我可以这样做:
var data = $('[data-toggle]').data("toggle");
但这只输出第一个元素的数据,所有其他具有该数据属性的元素都将被忽略。
我猜这与 arrays/JSON 格式有关,但我不清楚为什么会这样,也不清楚我应该如何检索我的所有值。
如何从所有这些数据属性中获取所有数据?
这里 fiddle 说明了我的问题:http://jsfiddle.net/6u67o9oo/
您必须遍历每个元素:
$('[data-toggle]').each(function() {
var data = $(this).data("toggle");
//Do stuff
});
或者您可以使用 .map
获取所有 data-toggle
属性的二维数组:
var newArray = $('[data-toggle]').map(function() {
return $(this).data("toggle");
}).get();