0

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

我可以.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">
4

3 回答 3

3

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

尝试

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

演示:小提琴

于 2013-05-24T06:35:00.590 回答
0

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

我手动完成了包装,它有效

content = '<div class="event_holder">' + content + '</div>';
于 2013-05-24T06:22:17.390 回答
0

我不知道你为什么要使用回调wrap()什么时候可以直接做

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

如果你能告诉我们实际的content内容会更好..

更新

尝试这个

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

或者

var content = $('#e1coords');
content = content.wrap('<div class="event_holder" />');
于 2013-05-24T06:09:47.130 回答