在段落列表后插入图像列表

时间:2014-10-30 05:36:22

标签: javascript jquery

我有一个图像列表,我想在每个段落后插入一个图像。有时我的图像比段落更少。如何循环img元素以在段落后插入它们,如果图像太多,请将它们留在原处?

 $( ".img" ).insertAfter( "p" );

如果没有内容,结构将如下所示:

在:

<div id="wrap">
    <h2></h2>
    <p></p>
    <h2></h2>
    <p></p>
    <h2></h2>
    <p></p>
</div>

<img class="img" />
<img class="img" />
<img class="img" />
<img class="img" />
<img class="img" />
<img class="img" />
<img class="img" />
<img class="img" />

结果:

<div id="wrap">
    <h2></h2>
    <p></p>
    <img class="img" />
    <h2></h2>
    <p></p>
    <img class="img" />        
    <h2></h2>
    <p></p>
    <img class="img" />
</div>
<img class="img" />
<img class="img" />
<img class="img" />
<img class="img" />
<img class="img" />

1 个答案:

答案 0 :(得分:1)

您可以使用.after()方法:

var $img = $('.img');

$('#wrap p').after(function(i) { return $img.eq(i); });

http://jsfiddle.net/a7tchk5r/