我试图在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中添加字符串?
答案 0 :(得分:6)
答案 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因为它提供了提问者想要的东西。
$("div:nth-child(3n)").each(function () {
$(this).html('Here i want to display some html')
})