Javascript CSS悬停选择器-JS或Jquery解决方案

Javascript CSS悬停选择器-JS或Jquery解决方案,javascript,jquery,html,css,css-selectors,Javascript,Jquery,Html,Css,Css Selectors,我有这样的想法: <article class="leading-0"> <h2> <a href="link">link title</a> </h2> <ul class="actions"> <li class="print-icon"> <a ...><img...></a>

我有这样的想法:

<article class="leading-0">
    <h2>
        <a href="link">link title</a>
    </h2>
    <ul class="actions">
        <li class="print-icon">
            <a ...><img...></a>
        </li>
        <li class="email-icon">
            <a ...><img...></a>
        </li>
    </ul>
    <dl class="article-info">
        <dt class="article-info-term">...</dt>
        <dd class="hits">...</dd>
    </dl>
    <p>...</p>
</article>
当您将li悬停在ul.tools中时,我想设置h2元素的样式

如果有人能帮忙,我会很高兴,看看这是否可行

我记得以前做过一次,但记不起来了。

问题是,你不能只使用CSS

当您使用CSS选择器选择元素时,选择器无法选择父元素,换句话说,您无法以任何方式反转元素

可以使用选择子图元或相邻图元+

那么,在你的情况下

<h2><a> link </a></h2>
<ul class='tools'>
    <li> tool 1 </li>
</ul>
在上面的代码中,我首先使用这个关键字来定位li,然后,我寻找它的父元素,它将选择ul,然后我使用.prev来寻找以前的同级元素,最后我们使用.find'a来定位嵌套在h2中的a元素

如果您想要唯一的CSS方式,那么最好是将h2和ul封装在一个元素中,比如一个带有类的div元素,比如说.wrapper,这样您就可以使用选择器,比如

.wrapper:hover h2 a {
    color: red;
}
问题是,您不能仅使用CSS来实现这一点

当您使用CSS选择器选择元素时,选择器无法选择父元素,换句话说,您无法以任何方式反转元素

可以使用选择子图元或相邻图元+

那么,在你的情况下

<h2><a> link </a></h2>
<ul class='tools'>
    <li> tool 1 </li>
</ul>
在上面的代码中,我首先使用这个关键字来定位li,然后,我寻找它的父元素,它将选择ul,然后我使用.prev来寻找以前的同级元素,最后我们使用.find'a来定位嵌套在h2中的a元素

如果您想要唯一的CSS方式,那么最好是将h2和ul封装在一个元素中,比如一个带有类的div元素,比如说.wrapper,这样您就可以使用选择器,比如

.wrapper:hover h2 a {
    color: red;
}
您需要使用+运算符, 以下是一个例子:

您需要使用+运算符, 以下是一个例子:

尝试以下CSS代码:

article ul.tools li:hover{
    color:green;
}   
article h2 { 
    color:red;  
}
尝试以下CSS代码:

article ul.tools li:hover{
    color:green;
}   
article h2 { 
    color:red;  
}


不幸的是,你不能使用CSS选择器进行遍历/向后遍历。不幸的是,你不能使用CSS选择器进行遍历/向后遍历。OP希望选择以伪元素之前的元素为目标,但这不起作用。这将选择下一个子元素。OP希望选择以伪元素之前的元素为目标,但这不起作用。这将选择下一个child.OP。当您悬停在ul.tools li上时,您想更改h2元素的样式,但实际情况并非如此。是的,我们似乎需要使用jquery或JS,但这里仍然完成了与您的要求类似的操作。请检查。OP希望在您悬停ul.tools li时更改h2元素的样式,但实际情况并非如此。是的,我们似乎需要使用jquery或JS,但这里仍然完成了与您的要求类似的操作。请检查。好的,但是这个呢。工具:悬停,所以在你看来这应该行吗?对我来说,在ul和li之间徘徊没有区别@Hossein有一个区别,如果你使用。工具:悬停它将针对ul元素,一些属性也将由li元素继承,所以这是丢失选择器,最好始终是特定的。现在我将设置实际ul的样式,使其具有不同的alpha背景颜色,或者直到有人帮助找到答案,但是谢谢你的关注@Hossein你不会得到一个纯粹的CSS解决方案,所以如果你正在等待,就不要等待:如果有其他解决方案:我很高兴知道:好的,但是这个呢。工具:悬停,那么在你看来这应该行得通?对我来说,在ul和li之间徘徊没有区别@Hossein有一个区别,如果你使用。工具:悬停它将针对ul元素,一些属性也将由li元素继承,所以这是丢失选择器,最好始终是特定的。现在我将设置实际ul的样式,使其具有不同的alpha背景颜色,或者直到有人帮助找到答案,但是谢谢你的关注@侯赛因:你不会得到一个纯粹的CSS解决方案,所以如果你正在等待,请不要等待:因此,如果有其他解决方案,我很高兴知道: