我有JS和HTML代码,如下所示
var a=$("li").data("item");
console.log($("li").data("item").type);

<li data-item="{"contentId" : 5,"type" : "PROGRAM", section_type: "PROGRAM_SECTION", "active":"false" }">data</li>
&#13;
尝试使用代码
在data-item属性中获取JS Object的type
属性值
var a=$("li").data("item");
console.log($("li").data("item").type);
但是我将var a=$("li").data("item");
作为字符串,即使JSON.parse(a)也无法正常工作,请参阅屏幕截图和codepen http://codepen.io/shmdhussain/pen/VvXKLr
请帮我解析数据。提前感谢您的帮助。
答案 0 :(得分:1)
有几个问题......请尝试使用下面的HTML和JS。
HTML
<li data-item="{"contentId" : 5,
"type" : "PROGRAM",
"section_type": "PROGRAM_SECTION",
"active" :"false"} ">data</li>
JS
var item = $("li").data("item");
var json = JSON.parse(item);
$("li").text(json.type);
答案 1 :(得分:1)
好的,所以我发现了一些错误:
1:应该是
$("li").data("sna-item");
此外,您的data-sna-item
中有错误(这是无效的json)。 section_type
这是一个更新的代码集:http://codepen.io/anon/pen/gaewrd
答案 2 :(得分:1)
问题是您的数据在使用时应使用"
“因此您需要将"
替换为”
使用此
JSON.parse($("li").data("item").replace(/"/g,'"')).type;
假设$("li").data("item")
产生您想要解析的数据。