将html属性转换为javascript对象

Translate a html attribute to javascript object

本文关键字:javascript 对象 转换 html 属性      更新时间:2023-09-26
$("div").click(function () {                
    var obj = { flammable: 'inflammable', duh: 'no duh' };
    $.each(obj, function (key, value) {
        alert(key + ": " + value);
    });
});

这个工作没有问题,并提醒键/值。

$("div").click(function () {                
    var obj = $(this).attr("obj");
    $.each(obj, function (key, value) {
        alert(key + ": " + value);
    });
});
<div obj="{ flammable: 'inflammable', duh: 'no duh' }">click</div>

然而,这是不工作?

改变这一行

var obj = $(this).attr("obj");

var obj = JSON.parse($(this).attr("obj"));

另外,您可能希望在对象中使用转义双引号而不是单引号,使其

<div obj="{ '"flammable'": '"inflammable'", '"duh'": '"no duh'" }">click</div>

<div obj= '{"name":"John Johnson","street":"Oslo West 16","phone":"555 1234567"}' >click</div>