JQuery- .wrap()元素的html

时间:2013-05-31 09:44:45

标签: jquery dom

我想把李变成div。我可以使用.html()成功获取li的内部HTML,但我不能.wrap() div中返回的内容。我得到错误“longHTMLstring没有方法换行”。

这是我的加价:

<li class="ui-draggable">
    <h1>Some text</h1>
    <p>Some more text</p>
</li>

我试图把它变成:

<div>
    <h1>Some text</h1>
    <p>Some more text</p>
</div>

这是我想要使用的jQuery:

var s = $('.ui-draggable').html();
s.wrap("<div>");

我已尝试在各种配置中对其进行链接,但我现在将其分解为最清楚的块以尝试解决问题。

我得到的完整错误是

"Uncaught TypeError: Object <h1>Some text</h1> <p>Some more text</p> has no method wrap". 

所以我想我的问题是.html()在需要字符串时给我一个对象?我是否需要执行一些嵌套的.clone()链接来管理它?

3 个答案:

答案 0 :(得分:0)

您只需使用wrapInner()
LIVE DEMO

$('.ui-draggable').wrapInner('<div>');

答案 1 :(得分:0)

尝试

$('.ui-draggable').wrapInner('<div />').children().unwrap()

演示:Fiddle

答案 2 :(得分:0)

Working jsFiddle Demo

li元素转换为div元素在HTML中无效(因为您总是使用li项和olul)。 买路,有可能:

$('.ui-draggable').contents().unwrap().wrapAll('<div>');

参考文献: