我想使用JavaScript更改类的CSS属性。我实际上想要的是,当一个<div>
被悬停时,另一个<div>
应该变得可见。
.left,
.right {
margin: 10px;
float: left;
border: 1px solid red;
height: 60px;
width: 60px
}
.left:hover,
.right:hover {
border: 1px solid blue;
}
.center {
float: left;
height: 60px;
width: 160px
}
.center .left1,
.center .right1 {
margin: 10px;
float: left;
border: 1px solid green;
height: 60px;
width: 58px;
display: none;
}
<div class="left">
Hello
</div>
<div class="center">
<div class="left1">
Bye
</div>
<div class="right1">
Bye1
</div>
</div>
<div class="right">
Hello2
</div>
当hello1 div被悬停时,bye1 div应该是可见的,同样,当hello2被悬停时,bye2应该出现。
7条答案
按热度按时间qybjjes11#
您可以使用
style
属性来实现这一点。例如,如果您想更改边框-类似地,对于颜色-
最好的方法是定义一个类然后这样做-
document.getElementById("p2").className = "classname";
(必须相应地考虑跨浏览器工件)。
x8goxv8g2#
44u64gxh3#
使用
document.getElementsByClassName('className').style = your_style
。html属性的双引号中包含的JS字符串使用单引号
示例
然后
document.getElementsByClassName('someclass').style = "NewclassName";
然后
document.getElementsByClassName("someclass").style = "NewclassName";
这是个人经历
6jjcrrmo4#
请考虑以下示例:如果你想改变一个CSS属性(比如把color改成blue),下面的语句就可以了。
但是,对于改变多个属性,更鲁棒的方法是使用
Object.assign()
或object spread operator {...}
;如下:
Spread运算符的工作原理类似,只是语法略有不同。
xeufq47z5#
仅供参考,这可以用CSS来完成,只需要对HTML和CSS做一些小的修改
HTML:
CSS:
关于DEMO:http://jsfiddle.net/pavloschris/y8LKM/
wlp8pajw6#
使用jQuery很简单。
例如:
我更新了你的小提琴:http://jsfiddle.net/TqDe9/2/
4dc9hkyq7#
你可以这样使用jQuery。
或者你可以这样用
第一个要求
第二个要求