我处于这种情况,我认为这是一个简单的问题,但我无法解决这个问题。 我有一个HTML元素,我应该传递一个json对象
码
var x = "<li id='tag_1'></li>"
var obj = {"name":"krishna","id":"krish1"}
当我将其转换为html时,我希望得到像这样的
<li id="tag_1" data-options={obj}></li>
我试过$(x).data("options",{obj}),
尝试在创建html元素时作为字符串传递,但确实没有工作
由于
答案 0 :(得分:3)
$(x).data("options",{obj})
是一种非常好的方法。只需直接传递obj
,jQuery就会将其保存为对象。但是,它不会作为属性添加。
$(x).data("options",obj)
如果查看documentation for .data()
,则指定您的值不必是字符串:
<强>值强>
输入:Anything
新数据值; 这可以是除undefined
以外的任何Javascript类型。
答案 1 :(得分:1)
尝试$(x).attr("data-options",JSON.stringify(obj))
如果您不想在HTML中使用$(x).data("options",obj)