我有一個網格中的項目列表。其中一些用CSS隱藏,使用display: none;
,通過類.hide
。:可見不適用:第n個子選擇器
我試圖'清除'每4日可見項目通過添加一個類.clear-left
它。我不明白爲什麼我的腳本不起作用。我使用的是:可見選擇器,但它似乎仍在計算display: none;
的項目。
應該發生的事情是,你應該總是看到連續3個項目,沒有差距。
http://jsbin.com/ipORemIs/1/edit
HTML
<div class="grid">
<div class="item">
1
</div>
<div class="item hide">
2
</div>
<div class="item">
3
</div>
<div class="item">
4
</div>
<div class="item hide">
5
</div>
<div class="item">
6
</div>
</div>
CSS
body {
margin: 0;
}
.grid {
margin-left: -30px;
}
/* Items that are hidden */
.hide {
display: none;
}
.item {
width: 150px;
float: left;
border: 1px solid;
margin-left: 30px;
margin-bottom: 30px;
padding: 10px;
font-size: 3em;
text-align: center;
}
.clear-left {
clear: left;
}
JS
var $itemShow = $('.item:visible');
$itemShow.filter(':nth-child(3n+1)').addClass('clear-left');
第n個孩子選擇將無法正常工作基於定製指數...它的工作原理基於基於兄弟元素的索引 –