Roh*_*Das 18 javascript css hover
我想用javascript更改类的css属性.我真正想要的是当div被悬停时,另一个div应该变得可见.
我的css就像..
.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;
}
Run Code Online (Sandbox Code Playgroud)
而且html文件就像..
<div class="left">
Hello
</div>
<div class="center">
<div class="left1">
Bye
</div>
<div class="right1">
Bye1
</div>
</div>
<div class="right">
Hello2
</div>
Run Code Online (Sandbox Code Playgroud)
当hello1 div悬停时,bye1 div应该是可见的,当hello2悬停时,类似的bye2应该出现.
Ved*_*Ved 27
你可以使用style
属性.例如,如果要更改边框 -
document.elm.style.border = "3px solid #FF0000";
Run Code Online (Sandbox Code Playgroud)
类似的颜色 -
document.getElementById("p2").style.color="blue";
Run Code Online (Sandbox Code Playgroud)
最好的是你定义一个类并执行此操作 -
document.getElementById("p2").className = "classname";
(必须相应地考虑跨浏览器工件).
考虑以下示例:如果您想更改单个 CSS 属性(例如,颜色为“蓝色”),则以下语句可以正常工作。
document.getElementById("ele_id").style.color="blue";
Run Code Online (Sandbox Code Playgroud)
但是,为了更改多个属性,更可靠的方法是使用Object.assign()
or, object spread operator {...}
;
const ele=document.getElementById("ele_id");
const custom_style={
display: "block",
color: "red"
}
//Object.assign():
Object.assign(ele.style,custum_style);
Run Code Online (Sandbox Code Playgroud)
扩展运算符的工作原理类似,只是语法略有不同。
// select element from DOM using *const*
const sample = document.getElementById("myid"); // using CONST
// or you can use *var*
var sample = document.getElementById("myid"); // using VAR
// change css style
sample.style.color = 'red'; // Changes color, adds style property.
// or (not recomended)
sample.style = "color: red"; //Replaces all style properties. NOT RECOMENDED
Run Code Online (Sandbox Code Playgroud)
使用document.getElementsByClassName('className').style = your_style
。
var d = document.getElementsByClassName("left1");
d.className = d.className + " otherclass";
Run Code Online (Sandbox Code Playgroud)
对html属性的双引号中包含的JS字符串使用单引号
例
<div class="somelclass"></div>
Run Code Online (Sandbox Code Playgroud)
然后 document.getElementsByClassName('someclass').style = "NewclassName";
<div class='someclass'></div>
Run Code Online (Sandbox Code Playgroud)
然后 document.getElementsByClassName("someclass").style = "NewclassName";
这是个人经验。