将JS对象传递给HTML字符串

时间:2018-03-22 05:23:55

标签: javascript jquery html json

我有一个JS变量,它定义了一个DOM元素,我想在DOM上的其他地方显示,定义为

var salesRep = $("ul.map").attr("id","1");

我想把它传递给一个名为show();

的函数

所以我做了

function getSalesRep(salesRep){
 return salesRep
 }

然后在show()函数内部调用了getSalesRep()

看起来像

function show(){
   getSalesRep();  
   var x1 = "<p>" + salesRep + "<p>";
   $("#map").after($(x1));
   }

但是在DOM上,应该显示包含HTML的salesRep变量,它会输出[Object object]

我似乎可以弄明白......我确信它与我定义对象错误的方式有关。

4 个答案:

答案 0 :(得分:3)

如果你需要在那里显示html内容,

var x1 = "<p>" + salesRep.html() + "<p>";

答案 1 :(得分:2)

在添加DOM元素之前,您需要JSON.stringify [Object object]

function show(){
  let listOfSales = JSON.stringify(getSalesRep());  
  var x1 = "<p>" + listOfSales + "<p>";
  $("#map").after($(x1));
}

答案 2 :(得分:0)

连接字符串和对象时会发生这种情况。您需要对salesRep进行字符串化并连接。

您可以使用JSON.stringify()来实现相同的功能。

获得字符串后,您可以将其添加为新创建元素的内部HTML并附加它。

答案 3 :(得分:0)

您不需要函数来访问变量salesRep。定义getSalesRep,然后在此处调用它没有必要,因为它没有做任何事情。如果删除函数定义并从show方法调用,则不会影响任何内容,因为最后使用salesRep变量。您只需使用salesRep方法对该对象使用stringify .html()