javascript - 从使用 .data() 添加的对象字符串中获取值

标签 javascript jquery html

$('#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 似乎不起作用。谢谢!

http://jsfiddle.net/quint/zyozqwv2/

最佳答案

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

http://jsfiddle.net/zyozqwv2/1/

关于javascript - 从使用 .data() 添加的对象字符串中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39530591/

相关文章:

javascript - 小于或等于运算符: With NaN

javascript - app 和 autoUpdater 在reactjs中不可用,但在nodejs中可用

javascript - 使用 javascript 而不是 php 构建对象

javascript - 错误: AJAX call within AJAX response

javascript - jquery Accordion 内的 asp 按钮不引发服务器事件

javascript - 如何在页面刷新之间保留变量的值?

javascript - 在 JavaScript 中组合两个数组

php - 使用 PHP 将数组数据存储到 mySQL 数据库

python - 如何从 Python 中的 HTML/CSS(包括图像)源生成 PDF?

javascript - 语法错误: <a> link not working by clicking,只能通过右键+ "open link in new tab"命令打开