【发布时间】:2013-09-03 18:25:47
【问题描述】:
我想在每 3 个可见的 div 之后显示一个“容器”。因为在过滤器之后,每个 div 是否隐藏。
我想要在每 3 个 div 之后放置一个容器...但如果文章以一两个结尾就行了,只需在它们后面放一个容器。
例如: html
<div class="container">
<article style="display:block"></article>
<article style="display:block"></article>
<article style="display:none"></article>
<article style="display:block"></article>
<article style="display:none"></article>
<article style="display:block"></article>
<article style="display:block"></article>
<article style="display:none"></article>
<article style="display:block"></article>
<article style="display:block"></article>
</div>
js
jQuery(document).ready(function ($) {
$('.container > article:visible:nth-child(3n)').after('<div class="receptacle"></div>');
$('article').each(function () {
$(this).on('click', function () {
$(this).nextAll('receptacle').text('toto');
});
});
});
css
article {
float:left;
width:30%;
height:40px;
background:DeepSkyBlue;
margin:5px;
}
小提琴: http://jsfiddle.net/XLK6z/
谢谢!
【问题讨论】:
-
这里有一个小提琴,可以更好地展示正在发生的事情。 jsfiddle.net/isherwood/XLK6z/2
-
stackoverflow.com/questions/2175694/… 应该可以帮助您解决问题。看起来它确实首先应用了第 n 个子选择器,然后是可见的。所以
div只会在可见的第 n 个孩子之后插入。
标签: javascript jquery html css