繁体   English   中英

如何使用JavaScript在ul标签中创建li li img标签?

[英]How to create element li img tag in ul tag using javascript?

如何使用javascript在ul标签中创建li li img标签元素?

我要建立

<li id="123">
    <img src="https://upload.wikimedia.org/wikipedia/commons/5/53/Loading_bar.gif"/>
</li>

<ul id="placehere">

但是不行,我该怎么办?

https://jsfiddle.net/btz69dyk/2/

<body>
<script type="text/javascript">
window.onload=function(){

var elem = document.createElement("li");
elem.setAttribute("id", "123");

var elem = document.createElement("img");
elem.setAttribute("src", "https://upload.wikimedia.org/wikipedia/commons/5/53/Loading_bar.gif");
elem.setAttribute("height", "");
elem.setAttribute("width", "");
elem.setAttribute("alt", "Flower");
document.getElementById("placehere").appendChild(elem);
}
</script>
<ul id="placehere">
</ul>
</body>

问题是这四行

var elem = document.createElement("li");
elem.setAttribute("id", "123");

var elem = document.createElement("img");
elem.setAttribute("src", "https://upload.wikimedia.org/wikipedia/commons/5/53/Loading_bar.gif");

在这里,您将使用相同的变量名再次创建相同的elem元素,从而使li丢失

更改为

var elem1 = document.createElement("li");
elem1.setAttribute("id", "123");

var elem = document.createElement("img");
elem.setAttribute("src", "https://upload.wikimedia.org/wikipedia/commons/5/53/Loading_bar.gif");
elem.setAttribute("height", "");
elem.setAttribute("width", "");
elem.setAttribute("alt", "Flower");
document.getElementById("placehere").appendChild(elem1);
elem1.appendChild(elem);

首先将image元素附加到li元素,然后在ul元素中附加li元素。

在您的示例中,您正在同一变量( elem )中创建元素,因此第二个元素将覆盖先前创建的元素(变量将包含后面的元素)。 DOM更新image元素之前将其添加到li元素中,只会对DOM结构造成一次麻烦。

尝试这个:

 window.onload = function() { var li_elem = document.createElement("li"); li_elem.setAttribute("id", "123"); var img_elem = document.createElement("img"); img_elem.setAttribute("src", "https://upload.wikimedia.org/wikipedia/commons/5/53/Loading_bar.gif"); img_elem.setAttribute("height", ""); img_elem.setAttribute("width", ""); img_elem.setAttribute("alt", "Flower"); li_elem.appendChild(img_elem); document.getElementById("placehere").appendChild(li_elem); } 
 <ul id="placehere"> </ul> 

在这里摆弄

 var listEle = document.createElement("li"); listEle.setAttribute("id", "123"); var elem = document.createElement("img"); elem.setAttribute("src", "https://upload.wikimedia.org/wikipedia/commons/5/53/Loading_bar.gif"); elem.setAttribute("height", ""); elem.setAttribute("width", ""); elem.setAttribute("alt", "Flower"); document.getElementById("placehere").appendChild(listEle).appendChild(elem); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM