Html CSS选择器:子集选择中的最后一个子项
假设我有这样一个结构(并且无法修改它): 它工作正常。所以我试着选择他们中的最后一个孩子:Html CSS选择器:子集选择中的最后一个子项,html,css,css-selectors,Html,Css,Css Selectors,假设我有这样一个结构(并且无法修改它): 它工作正常。所以我试着选择他们中的最后一个孩子: .common:last-child{ background: green; } 但不是运气。我还希望避免为该元素添加类 编辑:我简化了类和选择器,使其更干净 有没有办法选择类为“common”的最后一个元素 不,如果不修改HTML,就不能使用CSS选择器。您可以使用JavaScript或jQuery $('custom').prev().css('color', 'red'); 如果你不反
.common:last-child{
background: green;
}
但不是运气。我还希望避免为该元素添加类
编辑:我简化了类和选择器,使其更干净
有没有办法选择类为“common”的最后一个元素
不,如果不修改HTML,就不能使用CSS选择器。您可以使用JavaScript或jQuery
$('custom').prev().css('color', 'red');
如果你不反对JS路线,你可以这样做
$('li.common.custom').first().prev('.common').css('background','yellow');
它找到同时具有.common和.custom类的第一个元素,然后转到上一个元素。所以从技术上来说,这是最后一个只有.common的元素
结构是否会完全按照您的编码保持?例如,在要选择的元素上有粗体标记
如果是这样,你能这么做吗
.common p b{
background: green;
display:block;
}
怎么样
.common:类型的最后一个{
背景:绿色;
}
我想。纯css是不可能的。你能不能使用li:nth child(4)
?@Akshay正如我所说的,就在这个例子中是第四个元素,我不能确定他的索引,这就是为什么我需要:last child。无论如何,谢谢你是的,我知道用js很容易做到。但是我一直在寻找一个纯css的解决方案,无论如何谢谢好的,请等一分钟这是一个评论,不是一个答案。有了CSS,OP就做不到了。但问题不在于js/jQuery解决方案。使用js很简单。不,粗体只是在元素下面加下划线。我想用的是普通元素,而不是他的孩子
$('li.common.custom').first().prev('.common').css('background','yellow');
.common p b{
background: green;
display:block;