0

我正在尝试将 li 变成 div。我可以.html()用来成功获取 的内部 HTML li,但我不能.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()链接的东西来管理这个吗?

4

3 回答 3

0

尝试

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

演示:小提琴

于 2013-05-31T09:49:50.603 回答
0

您可以简单地使用wrapInner()

现场演示

$('.ui-draggable').wrapInner('<div>');
于 2013-05-31T09:47:10.033 回答
0

工作 jsFiddle 演示

li元素更改为div元素,在 HTML 中是无效的(因为您总是在 and or中使用liitem )。买的方式,就有可能:olul

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

参考:

于 2013-05-31T09:51:54.587 回答