Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将对象传递到html字符串_Javascript_Jquery_Html - Fatal编程技术网

Javascript 将对象传递到html字符串

Javascript 将对象传递到html字符串,javascript,jquery,html,Javascript,Jquery,Html,我现在的处境很简单,但我无法解决。 我有一个HTML元素,我应该在其中传递一个json对象 代码 var x=“” var obj={“名称”:“克里希纳”,“id”:“克里希纳”} 当我将其转换为html时,我希望得到如下结果 <li id="tag_1" data-options={obj}></li> 我尝试了$(x).data(“选项”{obj}), 在创建html元素时尝试作为字符串传递,但无效 谢谢试试$(x).attr(“数据选项”,JSON.str

我现在的处境很简单,但我无法解决。 我有一个HTML元素,我应该在其中传递一个json对象

代码

var x=“
  • ” var obj={“名称”:“克里希纳”,“id”:“克里希纳”}
    当我将其转换为html时,我希望得到如下结果

    <li id="tag_1" data-options={obj}></li>
    
  • 我尝试了
    $(x).data(“选项”{obj}),
    在创建html元素时尝试作为字符串传递,但无效

    谢谢

    试试
    $(x).attr(“数据选项”,JSON.stringify(obj))

    如果不想在HTML中打印,请使用
    $(x).data(“选项”,obj)

    尝试
    $(x).attr(“数据选项”,JSON.stringify(obj))


    如果您不想在HTML中打印它,请使用
    $(x).data(“options”,obj)
    $(x).data(“options”,{obj})
    是一种非常好的方法,只要您修复了语法错误。直接传递
    obj
    ,jQuery将其保存为对象。但是,它不会作为属性添加

    $(x).data("options",obj)
    
    如果查看,它将指定您的值不必是字符串:


    类型:
    新的数据值这可以是除未定义的
    之外的任何Javascript类型


    $(x).data(“options”,{obj})
    是一种非常好的方法,只要您修复了语法错误。直接传递
    obj
    ,jQuery将其保存为对象。但是,它不会作为属性添加

    $(x).data("options",obj)
    
    如果查看,它将指定您的值不必是字符串:


    类型:
    新的数据值这可以是除未定义的
    之外的任何Javascript类型


    JSON是一个字符串,不是一个对象,而且也是
    。data
    不会为您创建
    数据选项。看看jQuery规范中的哪些内容。
    {obj}
    是无效语法。您只需使用
    $(x).data('options',obj)
    。但是,它不会保存在HTML标记上,而只是保存在jQuery的内存中。示例:
    $('body').data('foo',{foo:'bar'})$('body')。数据('foo')
    提供
    对象{foo:“bar”}
    。JSON是一个字符串,而不是对象,而且
    。data
    不会为您创建
    数据选项。看看jQuery规范中的哪些内容。
    {obj}
    是无效语法。您只需使用
    $(x).data('options',obj)
    。但是,它不会保存在HTML标记上,而只是保存在jQuery的内存中。示例:
    $('body').data('foo',{foo:'bar'})$('body')。数据('foo')
    给出
    对象{foo:“bar”}
    。我做了这个fiddel但没有工作,我试图获得html的选项,但没有工作“它不会作为属性添加。”它只是保存在内存中供
    $(x)访问。数据('options')
    。此外,在附加jQuery对象时,您正在重新创建它。你需要保存同一个对象。@Krishna。您的问题是,当您执行
    $(“”)
    时,您创建了一个新元素。您需要保存对该元素的引用,然后使用该元素(正如您在使用my fiddle时看到的)。。。或者我应该在代码中做什么更改才能访问它obj@Krishna你看见我的眼睛了吗?你的答案已经在那里了?而不是
    $(x).foo()$(x) .abc()然后使用
    var xx=$(x);xx.foo();xx.abc()我做了这个fiddel,但没有工作,我尝试将选项添加到html,但没有工作“但是,它不会被添加为属性。”它只是保存在内存中,供
    $(x).data('options')
    访问。此外,在附加jQuery对象时,您正在重新创建它。你需要保存同一个对象。@Krishna。您的问题是,当您执行
    $(“”)
    时,您创建了一个新元素。您需要保存对该元素的引用,然后使用该元素(正如您在使用my fiddle时看到的)。。。或者我应该在代码中做什么更改才能访问它obj@Krishna你看见我的眼睛了吗?你的答案已经在那里了?而不是
    $(x).foo()$(x) .abc()然后使用
    var xx=$(x);xx.foo();xx.abc()fiddle.jshell.net/Lt51nmkmfiddle.jshell.net/Lt51nmkm