0

<img>我尝试使用 javascript 在标记后插入文本。

<div id="candy"><img src="candy.png" /> Insert text here!</div>

如果我使用document.getElementById('candy').innerHTML = "test";图像消失。

你能帮助我吗?

4

4 回答 4

6

那是因为您将 替换innerHTML为 text test。您没有附加文本。

尝试:

var div = document.getElementById('candy');
div.innerHTML = div.innerHTML + 'test';

取自这里

于 2013-05-05T16:33:27.370 回答
1

嗯,img 标签是 div 内 HTML 的一部分,如果你替换了 div 的 HTML,你也重写了 img 标签。

也许你想要这样的东西:

<div><img src="candy.png" /> <span id="candy">Insert text here!</span></div>
于 2013-05-05T16:34:04.670 回答
0

利用

var div = document.getElementById('candy');
div.insertAdjacentHTML('beforeend', 'test');

参考:https ://developer.mozilla.org/en/docs/DOM/element.insertAdjacentHTML

于 2013-05-05T16:37:17.773 回答
-4

那是因为您的 javascript 更改了<img>要测试的标签内的 html。这不像<img />自闭合标签那样起作用。

我相信你可以用 jQuery 来做你想做的事情。

于 2013-05-05T16:34:32.300 回答