Javascript 如何在id为getelementbyid/tag/name的div中定位图像?

Javascript 如何在id为getelementbyid/tag/name的div中定位图像?,javascript,Javascript,基本上,我想将smiley.gif更改为scape.jpg,而不更改div和标记,但这段代码不起作用。 有什么建议吗 <div id="foo"> <div id="bar"><img src="smiley.gif"> Hello world! </div> </div> <script> getElementById("bar").getElementsByTagName("img").src="landscape.jp

基本上,我想将smiley.gif更改为scape.jpg,而不更改div和标记,但这段代码不起作用。 有什么建议吗

<div id="foo">
<div id="bar"><img src="smiley.gif">
Hello world!
</div>
</div>
<script>
getElementById("bar").getElementsByTagName("img").src="landscape.jpg";

</script>

你好,世界!
getElementById(“bar”).getElementsByTagName(“img”).src=“scape.jpg”;

getElementById
是一种只能对文档调用的方法
getElementsByTagName
将返回节点列表,您需要该节点列表中的第一个元素:

document.getElementById("bar").getElementsByTagName("img")[0].src="landscape.jpg";
// Note the `[0]` here -----------------------------------^^^

如果您将ID分配给img标签并像这样使用它,效果会更好

<div id="foo">
    <div id="bar"><img src="smiley.gif" id="myImg"> Hello world! </div>
</div>
<script>
    document.getElementById("myImg").src="landscape.jpg";
</script>

你好,世界!
document.getElementById(“myImg”).src=“scape.jpg”;
1

还是用这个

<div id="foo">
    <div id="bar"><img src="smiley.gif"> Hello world! </div>
</div>
<script>
   var obj = document.getElementById("foo");
   if(obj != null)
   {
      var images = obj.getElementsByTagName('img');
      images[0].src = 'landscape.jpg';
   }
</script>

你好,世界!
var obj=document.getElementById(“foo”);
如果(obj!=null)
{
var images=obj.getElementsByTagName('img');
图像[0].src='scanner.jpg';
}

确认布局是固定的,只需使用

document.getElementById('bar').firstElementChild.src = 'landscape.jpg';
这基本上会找到名为
bar
的唯一元素,选择第一个子元素(不是,可能是空文本节点),并将新值分配给
src

关于MDN的文档


当你问问题时,有以下几点:1。格式化辅助工具的工具栏。2.一个橙色的大盒子,上面有格式化的提示。3.在发布之前,您可以使用问题的实时预览来查看问题的外观。值得使用。:-)在IE中返回HTMLCollection,在webkit中返回nodeList!
img
是否始终是
id
元素的
第一个子元素?如果是这样,图像
src
将始终是
smiley.gif
,还是会有所不同?是的,它的第一个子元素是id栏。它将是smiley.gif,然后您可以执行
document.getElementById('bar').firstElementChild.src='scape.jpg'