0

我正在尝试使用 css 选择一个元素,但我不能使用 css3,因为这是针对旧系统的,所以我不能使用。

nth-last-child(2)

有没有办法在 css 中做到这一点

4

2 回答 2

2

您可以使用 jQuery 添加一个类,如下所示:

// #css3 and .query can be any css3 selector
$("#css3 .query:nth-last-child(2)").addClass("lasties2")

然后在你的css中定义类(lasties2)。如果您不能使用 JavaScript 或正在使用不同的库,或者不想使用某个库,请指定。其他库,如 mootools 和原型,将有办法达到同样的目的。在不支持 CSS3 的环境中使用纯 JavaScript 会有更大的困难,但这是可能的。如果您不能或不想使用 JavaScript,则必须手动向相关项目添加一个类。

javascript 和手动方法的一个警告是,如果页面被 javascript 修改,则行为将与 css3 不匹配。使用 CSS3,如果从最后一个孩子开始的第 n 个发生变化,那么新的将获得样式,使用 jquery 或手动分类,它将坚持最初的。这是一个 jsfiddle,说明了我的意思:http: //jsfiddle.net/CSExB/35/

如您所见,如果您尝试了小提琴,则可以通过首先删除类,然后进行修改并最后重新应用类来使用 javascript 解决此问题,例如,对于上面的代码,它将是:

$("#css3 .query:nth-last-child(2)").removeClass("lasties2");
$("#css3").append('<p class="query">something</p>');
$("#css3 .query:nth-last-child(2)").addClass("lasties2");
于 2013-08-15T01:03:46.257 回答
0

如果你想让页面与 IE < 9 或 Safari < 3.2 兼容,你应该添加额外的类来列出项目<li class="some_additional_class">。您可以在服务器端生成页面或在客户端使用 JS 时执行此操作。

于 2013-08-15T00:41:47.470 回答