Javascript 包装HTML元素

Javascript 包装HTML元素,javascript,jquery,html,Javascript,Jquery,Html,我有这样一个HTML元素: <div class="entry-content"> <p>Lorem Ipsum</p> <p>Lorem Ipsum</p> <p>Lorem Ipsum</p> <div class="download-attr"></div> <div class="download-url"></div>

我有这样一个HTML元素:

<div class="entry-content">
    <p>Lorem Ipsum</p>
    <p>Lorem Ipsum</p>
    <p>Lorem Ipsum</p>
    <div class="download-attr"></div>
    <div class="download-url"></div>
    <div class="download-ads"></div>
</div>

同侧眼睑

同侧眼睑

同侧眼睑

我想把它包装成这样:

<div class="entry-content">    
    <p>Lorem Ipsum</p>    
    <div class="entry-content-left">
        <p>Lorem Ipsum</p>
        <p>Lorem Ipsum</p>
        <div class="download-attr"></div>
        <div class="download-url"></div>
    </div>    
    <div class="entry-content-right">
        <div class="download-ads"></div>
    </div>    
</div>

Lorem Ipsum

同侧眼睑

同侧眼睑

我如何使用jquery进行此操作?

请尝试以下方法:

var content = $(".entry-content");
var lhs = $('<div class="entry-content-left"></div>');
var rhs = $('<div class="entry-content-right"></div>');
lhs.append($(".entry-content>*:not(p:first):not(div:last)")); //you can create a different selector for this task
rhs.append($(".entry-content .download-ads"));
content.append(lhs).append(rhs);
var content=$(“.entry content”);
var lhs=$('');
var rhs=$('');
lhs.append($(“.entry content>*:not(p:first):not(div:last)”)//您可以为此任务创建不同的选择器
rhs.append($(“.entry content.download ads”);
content.append(lhs)、append(rhs);
演示:

以下是我的做法:

$('.download-ads').wrap('<div class="entry-content-right"></div>');
$(".entry-content>*:not(p:first):not(div:last)").wrapAll('<div class="entry-content-left"></div>');
$('.download ads').wrap('');
$(“.entry content>*:not(p:first):not(div:last)”).wrapAll(“”);
这是一把小提琴:

还有你的尝试…?我一直在尝试,我只知道如果在同一个类中有这样的元素,我就明白了,明白了!谢谢你的帮助:)没问题。很高兴有帮助。谢谢你的帮助:)