JQuery:包装变量的内容

时间:2013-05-24 06:06:05

标签: javascript jquery syntax-error

我有一个包含一堆HTML的变量,我从HTML5 SQL数据库中检索。

我可以.append()这个到DOM中的元素,看起来很好。但我想首先.wrap() HTML内容,因此我写了:

content = $(content).wrap(function() {
                                     return '<div class="event_holder" />';
                                     });

$('#mydiv').append(content);

然而,我收到错误

Syntax error, unrecognized expression: ~HTML contents of variable~

我也尝试过:

content = $(content).wrap('<div class="event_holder" />');

有谁知道这里发生了什么以及如何正确地包装它?

编辑:'内容'的内容是:

<input id="e1coords" class="coords" name="e1coords" type="hidden" value="-27.482359,153.024725">

3 个答案:

答案 0 :(得分:2)

问题可能是content = $(content).wrap('<div class="event_holder" />');仍然返回内部内容而不是包装元素,您需要附加内容的父级。

尝试

content = $(content).wrap('<div class="event_holder" />').parent();

演示:Fiddle

答案 1 :(得分:0)

我不知道你为何直接使用wrap()回调

content = $(content).wrap('<div class="event_holder" />');

如果你能告诉我们content内容实际上是什么,那就更好了。

<强>更新

试试这个

content = $('#e1coords').wrap('<div class="event_holder" />');

OR

var content = $('#e1coords');
content = content.wrap('<div class="event_holder" />');

答案 2 :(得分:0)

我发现了,因为content变量实际上是从(html5)数据库中检索到的,它不是DOM的一部分,因此JQuery遇到了问题。

我手动完成了包裹并且它有效

content = '<div class="event_holder">' + content + '</div>';