我使用这种data-方法在HTML标记中存储数据,如下所示:
data-
<td><"button class='delete' data-imagename='"+results[i].name+"'>Delete"</button></td>
然后,我在这样的回调中检索数据:
$(this).data('imagename');
很好 我所坚持的是尝试保存对象,而不仅仅是保存其属性之一。我试图这样做:
<td><button class='delete' data-image='"+results[i]+"'>Delete</button></td>
然后,我尝试像这样访问name属性:
var imageObj = $(this).data('image'); console.log('Image name: '+imageObj.name);
日志告诉我undefined。所以好像我可以在data-属性中存储简单的字符串,但不能存储JSON对象…
undefined
我也尝试过使用这种语法的孩子,但运气不好:
<div data-foobar='{"foo":"bar"}'></div>
关于使用该data-方法如何在HTML标签中存储实际对象的任何想法?
而不是将其嵌入文本中,只需使用 $('#myElement').data('key',jsonObject);
$('#myElement').data('key',jsonObject);
它实际上不会存储在html中,但是如果您使用的是jquery.data,则无论如何都是抽象的。
要获取JSON, 请不要解析它 ,只需调用:
var getBackMyJSON = $('#myElement').data('key');
如果您获取的[Object Object]不是直接JSON,只需通过数据键访问JSON:
[Object Object]
var getBackMyJSON = $('#myElement').data('key').key;