Jquery String + Object + String

时间:2014-09-15 16:36:07

标签: javascript jquery string object

我有一个小问题,我似乎无法解决。

这里......我有一个像这样创建的输入......

var input = $('<input/>');

如果我这样做......一切都很好

$(this).append(input);

如果我这样做......

$(this).append('<div>' + input + '</div>');

它附加一个带有html [object Object]

的div

有人可以指导我朝正确的方向发展吗?

提前谢谢!

2 个答案:

答案 0 :(得分:1)

你可以

$('<div />').append(input).appendTo(this);

演示:Fiddle

问题是input是一个jQuery对象,所以当你在字符串连接中使用它时,它会产生[object Object](对象的默认toString());


或者

var input = $('<input/>');
$('<div />', {
    append: input
}).appendTo(this);

演示:Fiddle

答案 1 :(得分:1)

您需要使用所有字符串或所有jQuery对象:

e.g。

$(this).append($('<div>').append(input));

$(this).append('<div>' + input[0].outerHTML + '</div>');
// I think this version is ugly :)

注意:

  • $('<div>')创建一个新的jQuery DOM元素,然后可以附加子内容。
  • input[0].outerHTML将返回等同于DOM对象HTML
  • 的文本字符串