将对象传递给html String

时间:2015-01-23 09:55:07

标签: javascript jquery html

我处于这种情况,我认为这是一个简单的问题,但我无法解决这个问题。 我有一个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元素时作为字符串传递,但确实没有工作

由于

2 个答案:

答案 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)

打印