hover事件属于类吗?

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>Title</title>
</head>

<style>    

body{color:#fff;font:12px/1.5 Tahoma;}    

#div1{width:150px;height:150px;margin:0 auto;padding:10px;background:black;border:10px solid #000;cursor:crosshair;}    

#div1.hover{color:red;background:#f0f0f0;border:10px solid red;}    

</style>    

<script>    

window.onload = function ()    

{    

var oDiv = document.getElementById("div1");    

oDiv.onmouseover = function ()    

{    

oDiv.className = "hover"    

};    

oDiv.onmouseout = function ()    

{    

oDiv.className = ""    

}    

};    

</script>    

</head>    

<body>    

<div id="div1">鼠标移入改变样式,鼠标移出恢复。</div>    

</body>    

</html>    

如上述代码,为什么是oDiv.className = "hover" 可以控制的div的样式,在div中并没有定义过class,还是说hover本身就是个class类?

还请前辈解惑

刺槐少女
浏览 2463回答 4
4回答

qq_玩二小_0

不属于

慕莱坞8333017

2107452917400633289643208331289541129653311171007409641218520074110652621957339917743300847331797841438852175410645320081963310662651983208584419540663285598451780778502722974638531610716316290871142357571057665219396658781087742155860092189317874767995463760401650932131020804022399382385695890922442926197978640528986485492

icecap

此hover非css里的伪类hover ,这个只是事先定义了一个类名叫hover的样式,鼠标进入时加上类名,离开清空类名。你可能困惑在初始化时div上并没有class,其实是js原生api,在调用className方法时没有class会自动加上class~

qq_杀意隆_0

在html的确没有定义过class , 这个hover类是通过JavaScript事件给div加上去的。 当鼠标移入时,动态给div添加hover类。鼠标移开时,又把hover类从div去掉。

CodeManDSH

试试这个:oDiv.classList.add("hover");
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript