2

有没有办法获取函数的父对象?比如哪个对象激活了这个功能?这是JS

var ua=false
function toggleUA() {

if (ua==false)

{document.getElementById("ua").src="http://i805.photobucket.com/albums/yy331/NatFan/uamap.png";ua=true;}
else
{document.getElementById("ua").src="http://upload.wikimedia.org/wikipedia/commons/8/8c/Transparent.png";ua=false;} }

这是HTML

<img class="airline" id="ua" src="http://upload.wikimedia.org/wikipedia/commons/8/8c/Transparent.png" width="1500" height="744">
<table class="nav">

<tr>

<td class="star" onclick='toggleUA();'>United Airlines</td>

</tr>

</table>

因此,如果我想让表格单元格在单击时更改颜色,我该怎么做?

4

1 回答 1

1

我认为更安全的方法是将this函数调用作为第一个参数传递,然后使用它来操作它。如:

<td class="star" onclick='toggleUA(this);'>United Airlines</td>

然后 Javascript 函数将被声明为:

function toggleUA(obj) {

单击obj的在哪里(如果您在多个元素上使用它)。<td><td>

现在,通常事件侦听器的工作方式是您通常可以this在函数中自动引用而不必将其作为参数传递,但内联事件处理程序的工作方式不一样,您需要通过this.

更新:

要修改背景颜色或其他样式属性,可以使用.style元素的属性。有了这个,您应该能够修改任何 CSS 属性,并且对于背景颜色,使用:

this.style.backgroundColor = "#fff";

https://developer.mozilla.org/en-US/docs/DOM/element.style

于 2012-10-27T00:00:02.043 回答