使用javascript添加图像
我有一个html页面,其中锚定标记代码中有一个图像:使用javascript添加图像,javascript,Javascript,我有一个html页面,其中锚定标记代码中有一个图像: <a href="www.google.com" id="x"><img src="images/test.png" /></a> 在body onload事件中,我调用了一个javascript函数,该函数动态地更改图像。我的代码是: <script type="text/javascript"> function changeImage() { document.getElemen
<a href="www.google.com" id="x"><img src="images/test.png" /></a>
在body onload事件中,我调用了一个javascript函数,该函数动态地更改图像。我的代码是:
<script type="text/javascript">
function changeImage()
{
document.getElementById('x').innerHTML= '<img src="images/test2.png" />';
}
</script>
函数changeImage()
{
document.getElementById('x')。innerHTML='';
}
这在firefox中运行良好,但在google chrome和ie中不起作用。请帮助..尝试以下操作:
<a href="www.google.com" id="x"><img id="y" src="images/test.png" /></a>
在铬和IE中测试
然后试试这个:[希望
的id可用并且至少有一个img标签]
var x = document.getElementById("x");
var imgs = x.getElementsByTagName("img");
imgs[0].src="./images/img02.jpg";
尝试以下操作,而不是更改innerHTML
function changeImage()
{
var parent = documeent.getElementById('x');
parent.getElementsByTagName("img")[0].src = "newUrl";
}
正如其他人所指出的,有很多方法可以做到这一点。元素不是锚,而是链接。而且没有人真正在web上使用XHTML,所以不要使用XML风格的语法 如果您没有图像的id,请考虑:
function changeImage(id, src) {
var image;
var el = document.getElementById(id);
if (el) {
image = el.getElementsByTagName('img')[0];
if (image) {
image.src = src;
}
}
}
然后,您可以使用onload侦听器:
<body onload="changeImage('x', 'images/test.png');" ...>
或者在链接后添加一个脚本元素(比如在结束正文标记之前),或者在图像出现在文档中后使用其他策略来运行函数。是缺少的开头
我无法为图像标记提供id,因为它正在动态生成图像。我用的是joomla。
<body onload="changeImage('x', 'images/test.png');" ...>