每2个div后添加html

时间:2014-01-02 12:36:26

标签: php jquery html

我试图在js或php中找到解决方案,但我无法解决我的问题: 我有很多div,我想在每两个div之后添加html。 这是一个例子:

<div>
    Some content
</div>
<div>
    Some other content
</div>
<!--Here i want to display some html-->
<div>
    Some content
</div>

是否有一种简单的方法可以在具有相同类别的特定数量的div之后在html中添加字符串?

7 个答案:

答案 0 :(得分:6)

您可以使用:

$("div:nth-child(2n)") 

<强> Working Demo

答案 1 :(得分:2)

使用这个简单的代码:

$("div:nth-child(2n)").after('<div>Test</div>');

答案 2 :(得分:1)

你可以做一个简单的循环:

for (var i=0;i<$(".someclass").length;i++)
{
  if (i%2 == 0)
  {
    $($(".someclass")[i]).after("insert something");
  }
}

答案 3 :(得分:1)

如果你想在jQuery中这样做,你可以使用它:

$("div:nth-child(2n)").after("something after the element");

对于php,你会使用类似的东西:

($i % 2) == 1)如果您的循环以0

开头

($i % 2) == 0)如果您的循环以1

开头

答案 4 :(得分:1)

您可以使用jquery的每个

// get all the divs on page
var divs = $('div');

// Iterate through each of the divs
$(divs).each(function (index, elem){
   // if the current div is the an even one
   if ((index % 2) === 0)) {
      // add html after it
      $(elem).after('your html goes here');
   }
});

虽然,我建议使用@Milind Anantwar,@ Adnan的回答; - )

答案 5 :(得分:1)

您可以添加JavaScript来执行此操作。

$nd = 0;
$("div").each(function() {
   $nd++;

   if($nd%2==0)
   {
       $(this).after("<span>Some Html...</span>");
   }
});

答案 6 :(得分:0)

JQuery解决方案。我正在使用3n因为它提供了提问者想要的东西。

http://jsfiddle.net/2RXLe/1/

enter image description here

$("div:nth-child(3n)").each(function () {
    $(this).html('Here i want to display some html')

})