下面的JSFiddle显示当我在DIV A上悬停时,DIV B会改变颜色,但我需要完全相反的情况:在DIV B上悬停,让DIV A改变颜色。
http://jsfiddle.net/u7tYE/
<div id="a">Div A</div>
<div id="b">Div B</div>
#a:hover + #b {
background: #ccc
}我不能重新排列原始的html元素,它们需要保持不变。
这是可能的CSS,还是只有Javascript?
发布于 2016-02-28 08:04:28
您需要一点jQuery,因为您不能改变以前在CSS中使用悬停样式的兄弟姐妹:
$('#b').hover(
function(){
$('#a').css({'background':'#ccc'});
},
function(){
$('#a').css({'background':'initial'});
}
);//#a:hover + #b {
// background: #ccc
//}<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="a">Div A</div>
<div id="b">Div B</div>
编辑: w/ vanilla javascript:
var a = document.getElementById('a');
var b = document.getElementById('b');
b.onmouseover = function(e) {
a.style.background = '#CCC';
}
b.onmouseout = function(e) {
a.style.background = 'initial';
}//#a:hover + #b {
// background: #ccc
//}<div id="a">Div A</div>
<div id="b">Div B</div>
https://stackoverflow.com/questions/35680033
复制相似问题