IE8:用什么代替nth-of-type(n)?

dmr*_*dmr 11 css css-selectors css3 internet-explorer-8

我继承了以下CSS代码,最初隐藏了一系列段落和一系列列表项的后一个元素.

.profileSection p:nth-of-type(n+2) {
    display: none;
}

.profileSection li:nth-of-type(n+6) {
    display: none;
}
Run Code Online (Sandbox Code Playgroud)

显然,这段代码在IE8中不起作用.隐藏这些元素的另一种方法是什么?

Kat*_*ieK 3

+相邻同级选择器,将允许您选择所有直接相邻的同级。在你的情况下:.profileSection p+p. (如果必须这样做,请考虑将其包装在其他浏览器中以防止其他浏览器看到它,例如条件注释。)

但如果您的标记包含除彼此相邻的元素之外+的其他内容,则无济于事。<p>例如:

<p>Alpha</p>
<h4>Header</h4>
<p>Beta</p>
Run Code Online (Sandbox Code Playgroud)

如果您的网站上还没有某种shivmoderizr功能(这将有助于解决许多其他类似问题),那么最简单的方法是向元素添加一个特殊的类,然后选择使用该类。