0

也许我没有正确使用“这个”。

HTML:

<div style="margin: 4px; padding: 10px; border: solid 1px;" onmouseover="darken(this);">

JavaScript:

function darken(elt) {
    "use strict";
    document.getElementById(elt.id).style.backgroundColor = "#e8e8e8";
}

?

4

4 回答 4

4

如果您有对该元素的引用,则无需查找其 ID,然后在文档中查询与该 ID 匹配的元素。(顺便说一下,没有为该元素分配 ID)。

于 2013-04-19T20:10:03.407 回答
3

this是对元素的引用。您可以简单地将其用作:

function darken(elt) {
    elt.style.backgroundColor = '#e8e8e8';
}
于 2013-04-19T20:10:06.923 回答
3

jsFiddle Demo

第一个问题是id那个元素上没有,所以你不能用document.getElementById它来找到它。

您可以使用的一个优点是您已经通过以下元素传递了元素this

function darken(elt) {
 "use strict";
 elt.style.backgroundColor = "#e8e8e8";
}
于 2013-04-19T20:11:10.787 回答
1

Id您没有为您的 div 元素提供任何内容

<div id="myDiv" style="margin: 4px; padding: 10px; border: solid 1px;" onmouseover="darken(this);">

JS 小提琴演示

于 2013-04-19T20:10:54.843 回答