当触发图像的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。
答案 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' />