我有一个包含一堆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">
答案 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>';