在以下三个代码中我们可以清除地看到container中哪个div被点击了
效果图:
HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>获取某div内鼠标点击元素的id</title>
<link rel="stylesheet" href="demo.css">
<script src="demo.js"></script>
</head>
<body>
<div id = "container" onClick="getId()">
<table>
<tr>
<td><div class="box" id="box1">1</div></td>
<td><div class="box" id="box2">2</div></td>
</tr>
<tr>
<td><div class="box" id="box3">3</div></td>
<td><div class="box" id="box4">4</div></td>
</tr>
<tr>
<td><div class="box" id="box5">5</div></td>
<td><div class="box" id="box6">6</div></td>
</tr>
</table>
<div id = "text"></div>
</div>
</body>
</html>
body,html{
margin:0;
padding: 0;
}
#container{
width: 230px;
height: 350px;
background: #999;
margin:100px;
}
.box{
width: 50px;
height: 50px;
background: #666;
margin:30px;
text-align: center;
}
#text{
margin-top:10px;
color: red;
}
function getId(evt){
evt = evt || window.event;
var obj = evt.target ||evt.srcElement ;
document.getElementById("text").innerHTML = obj.id;
}
以下代码执行结果为将红色div变成黑色
上代码!!
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Demo</title>
</head>
<script>
function clickedId(evt){
var curid;
if(evt){//非ie
curid = evt.target.id;
}
else if(window.event){//ie
curid = window.event.srcElement.id;
}
return curid;
console.log(curid);
}
function changeDiv(){
var curdiv = document.getElementById(clickedId());
curdiv.style.background = "black";
}
</script>
<style>
#box{
width: 50px;
height: 50px;
background: red;
}
</style>
<body>
<div id = "box" onClick="changeDiv()"></div>
</body>
</html>