这样说:
<div class="container">
<div>ciao</div>
<p>ciao</p>
<span>ciao</span>
<div>ciao</div>
<div>ciao</div>
<span>ciao</span>
<i>ciao</i>
<p>ciao</p>
<div>ciao</div>
</div>
现在,有没有任何方法可以在由div
和p
组成的列表中只选择偶数元素,而排除所有其他类型?
我的意思是:
.container > *:nth-child(even){ // >>> BUT only from say, P and DIV
color: red;
}
不,不可能。您需要通过JavaScript来完成:
var items = document.querySelector(".container").querySelectorAll("div, p");
for (let index = 0; index < items.length; index++) {
if (!(index % 2)) {
items[index].style.color = "red";
}
}
只有一部分::nth-child
(任何类型)计算同一父级中同一级别的所有子元素,而不管它们的类型。
有nth-of-type
,它更接近您想要的内容:
null
p:nth-of-type(even) {
color: red;
}
<div>
<p>p / 1</p>
<h2>h2 / 2</h2>
<p>p / 3</p>
<p>p / 4</p>
<div>div / 5</div>
<p>p / 6</p>
</div>