使用javascript添加图像

使用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

我有一个html页面,其中锚定标记代码中有一个图像:

<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');" ...>