JQuery:包装变量'

JQuery: wrapping variable's contents

本文关键字:变量 包装 JQuery      更新时间:2023-09-26

我有一个变量,其中包含一堆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" />');

有没有人知道这里发生了什么,我怎么才能正确地包装这个?

编辑:'content'的内容为:

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

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

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

演示:小提琴

我不知道为什么你使用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" />');

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

我手动完成了换行,它工作了

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