在JS上获取函数的父对象

时间:2012-10-26 23:56:33

标签: javascript html

有没有办法获取函数的父对象?喜欢哪个对象激活了这个功能? 这是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>

所以如果我想让表格单元格在我点击时改变颜色,我该怎么做?

1 个答案:

答案 0 :(得分: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