创建动态div

时间:2018-09-03 17:04:42

标签: javascript jquery html solidity

试图做一个动态的股利,但我不知道如何。编写了一个接受结构体的固态智能合约。在智能合约中,我可以使用get函数来显示内部数据。数组中的数据被视为历史记录,它由金额(建立众筹网站),日期,使用的货币等组成。由于智能合约中的get函数只能提取数组的一部分,因此我想到了将函数放入while循环中,然后提取整个历史记录数组。

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

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

使用while循环从数组中提取数据并将其放在div中进行显示是否合理?或者使用太多的气体无法正常工作?

2 个答案:

答案 0 :(得分:0)

我不知道您为什么要这样做,但是您可以这样做:

$('#set a').each(function(){
  $('#set').after( "<div></div>");
});

它选择<a>...</a>元素内的所有<div id="set">...</div>,并为每个元素插入一个<div></div>元素。它会在#set旁边插入元素,但是您可以将其更改为可以选择的任何其他元素。

由于您将问题标记为jQuery,因此我正在提供jQuery代码。

希望有帮助,

答案 1 :(得分:0)

您可以通过托管getElementsByTagName('a').length上的此功能div获得锚标记的数量。然后使用该数字创建新的div。此解决方案是使用香草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>