$('#test').attr('data-mydata', "{'x-coord': 10}");
var myData = $('#test').data("mydata");
var x = myData['x-coord'];
console.log('x-coord: ' + x);
我想附加到上述数据上方的 div。执行代码时,DOM 元素 #test 会更新为很棒的数据。然后我想从“对象”中获取数据。但是,mydata 包含一个字符串表示。如何将此字符串转换为对象?底线:如何获取键/值对以供进一步处理? JSON.parse 似乎不起作用。谢谢!
最佳答案
JSON.parse does not seem to work
嗯,那是因为它需要有效 JSON。
{'x-coord': 10}
不是有效的 JSON – 这里需要双引号,{"x-coord": 10}
一旦你修复了它,你就不需要再自己解析它了,.data()
会自动完成:
$('#test').attr('data-mydata', '{"x-coord": 10}'); // switched quotes here
var myData = $('#test').data("mydata");
var x = myData['x-coord'];
console.log('x-coord: ' + x); // result: x-coord: 10
关于javascript - 从使用 .data() 添加的对象字符串中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39530591/