似乎默认情况下,javascript使用双引号附加属性。但是在我的情况下,我试图将json字符串附加到data属性,并且双引号会干扰json。
var json = {"foo":"bar"}
var el = document.getElementById("someElement");
el.setAttribute("data-json", JSON.stringify(json)); //<div data-json="{"foo":"bar"}">
如何使用单引号附加属性?
说那是不正确的
默认情况下,javascript使用双引号附加属性。
属性只是一个字符串。属性值本身不包括周围的引号。引号只不过是表示字符串文字的语法。您看到的围绕引号的外部引号
<div data-json="{"foo":"bar"}">
属性值中不存在;它们只是在控制台打印出属性时由控制台插入,以方便您使用。没有任何“干扰JSON”。可以按JSON.parse
原样检索并解析属性值,无需费力。
var json = {"foo":"bar"}
var el = document.getElementById("someElement");
el.setAttribute("data-json", JSON.stringify(json));
// now, parse the attribute
>> JSON.parse(el.getAttribute('data-json'))
<< Object {foo: "bar"}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句