使用javascript将img元素添加到div中

And*_*est 60 javascript dom

我正在尝试placehere使用JavaScript 将div 添加到div中,但是我没有运气.任何人都可以帮我一个代码吗?

<html>
<script type="text/javascript">
var elem = document.createElement("img");
elem.setAttribute("src", "images/hydrangeas.jpg");
elem.setAttribute("height", "768");
elem.setAttribute("width", "1024");
elem.setAttribute("alt", "Flower");
document.getElementById("placehere").appendChild("elem");
</script>
<body>

<div id="placehere">

</div>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

Ghy*_*hal 67

document.getElementById("placehere").appendChild(elem);
Run Code Online (Sandbox Code Playgroud)

document.getElementById("placehere").appendChild("elem");
Run Code Online (Sandbox Code Playgroud)

并使用以下设置来源

elem.src = 'images/hydrangeas.jpg';
Run Code Online (Sandbox Code Playgroud)

  • 我认为我的脚本在DOM完成加载之前运行,所以我添加了document.addEventListener("DOMContentLoaded",function(),它似乎解决了它! (3认同)

Som*_*Guy 18

它应该是:

document.getElementById("placehere").appendChild(elem);
Run Code Online (Sandbox Code Playgroud)

并在你的javascript之前放置你的div,因为如果你不这样做,javascript会在div存在之前执行.或者等待它加载.所以你的代码看起来像这样:

<html>

<body>
<script type="text/javascript">
window.onload=function(){
var elem = document.createElement("img");
elem.setAttribute("src", "http://img.zohostatic.com/discussions/v1/images/defaultPhoto.png");
elem.setAttribute("height", "768");
elem.setAttribute("width", "1024");
elem.setAttribute("alt", "Flower");
document.getElementById("placehere").appendChild(elem);
}
</script>
<div id="placehere">

</div>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

为了证明我的观点,请参阅onload没有onload的情况.启动控制台,你会发现一个错误,指出div不存在或无法找到null的appendChild方法.


小智 5

function image()
{
    //dynamically add an image and set its attribute
    var img=document.createElement("img");
    img.src="p1.jpg"
    img.id="picture"
    var foo = document.getElementById("fooBar");
    foo.appendChild(img);
}

<span id="fooBar">&nbsp;</span>
Run Code Online (Sandbox Code Playgroud)