2

在 html 中,我有很多带有名称(是的,名称,而不是 ID)的 od DIV,分别为 p001、p002、p003 ...,如下所示:

<div id="pole" name="p001"><img src=""></div>
<div id="pole" name="p002"><img src=""></div>
<div id="pole" name="p003"><img src=""></div>

ETC...

在 Javascript 中,我定义了一个名为“pos”的变量,它现在包含一个数字:“284”和一个应该将 img src 更改为“player.png”的函数。我尝试了 2 种方法,但这些方法都不起作用:

document.getElementsByName('p'+pos).innerHTML='<img src="player.png">';

document.getElementsByName('p'+pos).getElementsByTagName("img").src="player.png";

如何更改指定DIV中的img src?

4

3 回答 3

5

getElementsByName返回元素列表,而不是单个元素,因此请尝试:

document.getElementsByName('p'+pos)[0].
    getElementsByTagName("img")[0].src="player.png";
于 2013-07-21T16:34:33.710 回答
0

您必须选择 html 代码中的所有“img”标签。然后您可以更改元素在正文或指定元素中的 src。

images = document.querySelectorAll("#content_image img");
于 2022-01-10T06:42:24.420 回答
-1

首先,我认为您应该在标签上切换nameid属性。div您不能拥有多个具有相同 id 的元素,但可以拥有多个具有相同名称的元素。

<div name="pole" id="p001"><img src=""></div>
<div name="pole" id="p002"><img src=""></div>
<div name="pole" id="p003"><img src=""></div>

要解决您的问题,您可以使用firstChildDOM 的属性,如果它img始终是您的 div 标签的第一个孩子。

document.getElementById('p'+pos).firstChild.src="player.png";
于 2013-07-21T16:38:19.740 回答