Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html CSS选择器:子集选择中的最后一个子项_Html_Css_Css Selectors - Fatal编程技术网

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;