如何在单击该图像的onclick事件上获取图像源路径

时间:2012-04-22 18:44:23

标签: javascript

当触发图像的onclick事件时,我需要获取Image源。

我尝试使用document.getElementById(“example”)。src; ,但浏览器上的控制台说

未捕获的TypeError:无法读取null的属性'src'

<html>
<head>
<script type="text/javascript">
function changeIt()
{
var name = document.getElementById("myimage").src;
alert(name);
}
</script>
</head>
<body>
<img onclick="changeIt()" src='em1.gif' name='example' border='0' />
<img onclick="changeIt()" src='em2.gif' name='example' border='0' />
<img onclick="changeIt()" src='em3.gif' name='example' border='0' />
<img onclick="changeIt()" src='em4.gif' name='example' border='0' />
<img onclick="changeIt()" src='em5.gif' name='example' border='0' />
</body>
</html>

更新部分。

实际的来源是,在AJAX响应中,我将从文件夹中获取图像路径,我需要动态创建图像并将它们添加到div。

这是实际代码

outputdata.forEach(function (element) {
                   content = $("<div><a href='something'><img onclick='changeIt()' src='" + element + "'   /></a></div>");
                   content.addClass('content');
                   container.append(content);
                   $("#fp_thumbScroller").append(container);
                });
            }

所以我没有创建ID,因为它不适合为不同的图像设置相同的ID。

4 个答案:

答案 0 :(得分:12)

HTML:

<img onclick="changeIt(this.src)" src='em1.gif' name='example' border='0' />

JS:

function changeIt(_src){
    alert(_src);
}​

答案 1 :(得分:6)

我会将实际的元素引用(this)作为参数传递,这样您就可以更改图像源或者您想要更改的内容。

HTML:

<img onclick="changeIt(this)" src='em3.gif' name='example' border='0' />

Javascript(确保它在该区域内):

function changeIt(img)
{
    var name = img.src;
    alert(name);
}

这是fiddle

答案 2 :(得分:1)

你的html中有id“myimage”的img标签吗? 你必须确保在引用它之前有一个id为“myimage”的img元素!

答案 3 :(得分:0)

那是因为你的图像都没有ID:

<img id="myImage" onclick="changeIt()" src='em1.gif' name='example' border='0' />