我试图获取被点击的div的ID。
function select(e) {
alert('ID : ' + e.target.id);
// alert('Selected!');
}

div {
background: red;
cursor: pointer;
height: 50px;
width: 50px;
}

<div id='5' onclick='select()'></div>
&#13;
我创建了一个你可以玩的codepen here。当我点击div时,我收到一条错误消息,指出e
是undefined
。但是,只打印Selected!
的正常警报工作正常。所以e
就是问题所在。
答案 0 :(得分:3)
您没有将任何内容作为参数传递,因此e
始终为undefined
。为了让event
对象传递event
对象作为参数。
<div id='5' onclick='select(event)'></div>
function select(e) {
console.log('ID : ' + e.target.id);
}
div {
background: red;
cursor: pointer;
height: 50px;
width: 50px;
}
<div id='5' onclick='select(event)'></div>
或者传递this
上下文作为参数来引用元素。
function select(ele) {
console.log('ID : ' + ele.id);
}
div {
background: red;
cursor: pointer;
height: 50px;
width: 50px;
}
<div id='5' onclick='select(this)'></div>