根据子类选择元素

ako*_*nsu 19 css css-selectors

在CSS中有没有办法选择一个具有给定类的子元素的元素?

我想将样式应用于<ul>具有<li>特定类的列表.

Dav*_*mas 13

使用css是不可能的,因为你通过选择基于后代的祖先来对抗级联.

我能提供和建议的最好的是jQuery方法:

$(document).ready(
  function() {
    $('.givenClassName').parent().addClass('something');
  }
);
Run Code Online (Sandbox Code Playgroud)

这个发现与所述元件givenClassName,然后选择它的父元素,并添加类something到该元素.

@Blaenk提出了一种替代方法,它更通用(他的方法不要求祖先元素是你选择的元素的父元素).

显然,其他JS库和JS本身都可以达到同样的效果,虽然我不能提供特别的建议,因为我还只是熟悉JS并且主要使用jQuery(为什么是的,我为自己感到羞耻...).


Jor*_*eña 5

据我所知,遗憾的是CSS无法实现.

如果你可以使用Javascript,jQuery有一个很好的方法来使用该closest()方法.它的文档甚至列出了一个非常类似于你的例子:选择一个具有特定类的li的ul.

$("li.some-class").closest("ul");
Run Code Online (Sandbox Code Playgroud)

如果这不是在jQuery中执行此操作的最佳方式,请原谅我.我实际上是jQuery的新手,这是我到目前为止学到的方法之一,看起来很合适.