(js)将整个对象传递给onclick方法而不是字符串

时间:2009-12-03 01:16:55

标签: javascript

<div class="rating" onclick="swapImg('bad')"><img id="bad" class="unselected" src="img/unrated.gif"/></div>

我的javascript将整个img对象传递给swapImg,而不是字符串'bad'。例如,如果我console.log(param)传递给swapImg的参数,我得到:

<img id="bad" class="unselected" src="img/unrated.gif">

发生了什么?

function swapImg(imgId) {
    console.log(imgId);
    var image = document.getElementById(imgId);
    console.log("success2");
}

1 个答案:

答案 0 :(得分:0)

我测试了你的功能和HTML,它运行良好。

即使this变量也会设置为div而不是图像。您是否有可能在页面上的其他位置有任何其他处理程序?或者可能在onclick标记本身上有一个迷路img事件?

我在Firefox 3.5中测试过。从你的语法是正确的事实判断,除了你发布的内容之外,还有其它因素会导致失败。

你可以see my test here。在Firefox或Safari中(在开发人员模式下)单击红色div,控制台将显示:

bad
success2