1

我正在为 wordpress 博客编写自定义页面。大量内容由 PHP 即时注入。我不得不添加一些 CSS 类来使用 jQuery 动态创建 html 标签。我被这个卡住了...

我将如何用 div 包装我的用户将在这个 wordpress 页面上创建的这些“重复视频块”?

一些注意事项: div.entry-content 中的所有元素都具有“3”类。类“1”和“2”是特定于元素的类。

<div class="canvas">
<div class="entry-content">

    <p class="1 3">Title-1</p>
    <div class="2 3">_____</div>
    <p class="3">Video Here</p> 
    <!- End of first "repeating video-block" -->

    <p class="1 3">Title-2</p>
    <div class="2 3">_____</div>
    <p class="3">Video Here</p>

    <p class="1 3">Title-3</p>
    <div class="2 3">_____</div>
    <p class="3">Video Here</p>

</div>
</div>

这就像我一直让它工作一样接近。http://jsfiddle.net/djfrsn/mq5ww/2/

var above      = $('.2').prev();
var below      = $('.2').after();
var videoBlock = '<div></div>';
$(below).addBack().wrapAll(videoBlock);

到目前为止,我的资源一直是 @ jQuery 网站上的 DOM 遍历文档和这个堆栈溢出帖子(jQuery How to wrap div around multiple of the same class elements),这似乎接近我所需要的,尽管到目前为止还没有运气。

这是我想要的输出:

<div class="canvas">
<div class="entry-content">

    <div class="vid-block">
        <p class="1 3">Title-1</p>
        <div class="2 3">_____</div>
        <p class="3">Video Here</p> 
    </div> <!- End of first "repeating video-block" -->

    <div class="vid-block">
        <p class="1 3">Title-2</p>
        <div class="2 3">_____</div>
        <p class="3">Video Here</p> 
    </div>

    <div class="vid-block">
        <p class="1 3">Title-3</p>
        <div class="2 3">_____</div>
        <p class="3">Video Here</p> 
    </div>

</div>
</div>
4

1 回答 1

1

这应该做你想要的。

http://jsfiddle.net/mq5ww/4/

$(".1").each(function(){
    $(this).nextUntil(".1").addBack().wrapAll("<div class='wrapper'>");
});
于 2013-10-20T20:16:48.900 回答