0

如果我尝试使用这段代码显示内容,我会得到预期的结果:

$("#checkbox_list").append($("<li/>", {id: "medias_bloc_"+id, html: table }) ); //a HTML a classical html table is appended

但是,如果我尝试添加另一个包含一些 html 元素的 js 变量,如下所示:

$("#checkbox_list").append($("<li/>", {id: "medias_bloc_"+id, html: table + input }) );

然后,只有输入 html 出现(一个基本的 html 输入),而不是我得到的表格:[object Object]

我该如何解决?

编辑:谢谢答案,这是两个console.log变量的结果:

Object[table.add_table] //console.log(table)

<input name="cat" type="hidden" value=3105 />//console.log(input)

好的,所以只有一个字符串和一个对象,然后我无法连接...

4

3 回答 3

2

您可以通过这种方式附加对象。利用.Append()

当您尝试在html属性中的对象之间添加运算符时,它会连接它们的类型名称,即[object][object] [object][object]

$("#checkbox_list").append($("<li/>", {id: "medias_bloc_" + id}).append(table).append(input) );
于 2013-05-07T15:08:40.100 回答
1

You didn't mentioned what table and input are.

If table and input are jQuery objects, you can't simply concatenate them. It would be good solution for strings.

于 2013-05-07T15:06:45.347 回答
1

由于您无法与对象连接,因此您需要一个接一个地附加(请参阅 PSL 的答案),或者获取每个对象的 html 并将其连接起来。

$("#checkbox_list").append($("<li/>", {id: "medias_bloc_"+id, html: $(table).html() + $(input).html() }) );

我会选择 PSL 的答案,一一附加。

于 2013-05-07T15:09:27.483 回答