有没有办法获取函数的父对象?喜欢哪个对象激活了这个功能? 这是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>
所以如果我想让表格单元格在我点击时改变颜色,我该怎么做?
答案 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";