我正在使用jQuery的.data()方法在锚标记上存储一些额外的数据。jQuery - 通过数据选项循环
<a href="/someurl/" class="someLink" data-options="{'checkout_authentication':'create_account', 'foo':'bar'}">Link</a>
我看到因为我可以访问数据属性,像这样的例子:
$("a.someLink").data("options").foo
其中“富”是关键之一的名称。这很好,但我不会总是知道存在哪些数据属性,所以我不能专门调用它们。我想不是指定名称,只获取data-options属性的全部内容,并循环遍历每个键来构建查询字符串。
我试过类似如下:
var dataOptions = $(this).data('options');
for(var index in dataOptions) {
console.log(index,dataOptions[index]);
};
但那是输出如下:
'$( “分区”)数据(“options”)。foo'给我'undefined',你确定它适合你吗? – gdoron 2012-03-15 16:20:04
你在数据选项里面有什么是一个字符串而不是一个对象。所以它认为它是一个字符串.. ..循环遍历每个字符。 – 2012-03-15 16:20:38
@SKS通常jQuery将使用JSON.parse来解析字符串并返回对象。只有当字符串不能被解析时,jQuery才会按原样返回字符串。 – Yoshi 2012-03-15 16:28:18