首页 > 解决方案 > 创建动态 div

问题描述

试图制作一个动态 div 但我不知道如何。编写了一个接受结构数组的可靠智能合约。在智能合约中,我可以使用 get 函数来显示里面的数据。数组中的数据被视为历史,它由金额(做一个众筹网站)、日期、使用的货币等组成。由于智能合约中的get函数只能提取数组的一部分,所以我想把将函数放入while循环并提取整个历史数组..

<div id=set>
  <a>value1</a>
  <a>value2</a>
</div>

我正在尝试在 div 中动态创建另一个具有相同数量的 < a > 的 div。如果我有 10 组数据要显示在该 div 中,我希望只创建 10 组该 div。可以使用 createElement() 来做到这一点吗?找不到任何有效的解决方案。完全不知道如何创建它。有人可以帮忙吗。

使用 while 循环从数组中提取数据并将其放入 div 中显示是否合理,或者它是否会使用过多的气体来使其工作?

标签: javascriptjqueryhtmlsolidity

解决方案


getElementsByTagName('a').length您可以通过使用此功能从托管中获取锚标签的数量div。然后使用该数字创建新的 div。这个解决方案是使用 vanilla JS 完成的。

function createDynamicDivs(){
	 var newDiv = document.createElement("div");
	 var noOfAnchors = document.getElementById('set').getElementsByTagName('a').length;
		for(var i=0;i<noOfAnchors;i++){
		    var newContent = document.createElement("a");
			newContent.textContent= "Test ";
			newDiv.appendChild(newContent); 
		}
    document.getElementById('new').appendChild(newDiv);
}
<div id=set>
     <a>value1</a>
     <a>value2</a>
</div>
<div id="new"></div>
<button onclick="createDynamicDivs()">Generate</button>


推荐阅读