我有一个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]
我似乎可以弄明白......我确信它与我定义对象错误的方式有关。
答案 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()
。