I am attempting to store an array in the HTML data tag. For example:
If you use valid JSON ([
and ]
for the array, double quotes instead of single), like this:
<div id="locations" data-locations='[{"name":"Bath","url":"/location/bath","img":"/thumb.jpg"},{"name":"Berkhamsted","url":"/location/berkhamsted","img":"/thumb.jpg"}]'>
Then what you have (using .data()) to get the array will work:
$('#locations').data('locations');
You can test it here.
Try adding [
and ]
to beginning and end (this makes it valid JSON). After doing so, you can use JSON.parse()
to convert it to a native JavaScript object.
Try this:
var testOne = eval("new Array(" + $('#locations').data('locations') + ")");
Look at it in jsfiddle.