2016-10-01 13 views
1
$("div").click(function() {     
    var obj = { flammable: 'inflammable', duh: 'no duh' }; 
    $.each(obj, function (key, value) { 
     alert(key + ": " + value); 
    }); 
}); 

これは問題なく動作し、キー/値を警告します。html属性をjavascriptオブジェクトに変換する

$("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 = JSON.parse($(this).attr("obj")); 

答えて

0

変更この行を

var obj = $(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> 
+0

私もjsonについて考えていましたが、althougはオブジェクトの構文が好きです。しかし、それは動作していないようだ。 – dbol

+0

@dbolあなたはフィドルやスタックニットを共有することができますか?(編集モードの上のアイコンを使用して) – gurvinder372

+0

'{"name": "John Johnson"、 "street": "Oslo West 16"、 "phone": "555 1234567"}' – dbol

関連する問題