2016-06-21 51 views
3

我想动态地创建一个窗体,我需要在两个元素之间追加一个Tab空间。我想这个问题的唯一问题是需要放置的标记(createElement(...))。同时请注意,我已经省略了很多其他元素的形式将举行动态创建和追加JavaScript空间中的标签空间

function createStreamForm() 
{ 
$(".toolbox-titlex").show(); 
$(".panel").show(); 

var Streamtype = document.createElement("div"); 
var br = document.createElement("br"); 
var streamlbl = document.createElement("label"); 
var streamtypelbl = document.createElement("label"); 
var PredefStreamdiv = document.createElement("div"); 
var tabspace = document.createElement("label"); 

Streamtype.type = "text"; 
Streamtype.id="Streamtype"; 
Streamtype.className = "streamType"; 
streamlbl.className = "lblstreamProp"; 
streamlbl.innerHTML = "Stream: "; 
PredefStreamdiv.id = "PredefinedStream"; 
tabspace.innerHTML = "&nbsp"; 


lot.appendChild(Streamtype); 
lot.appendChild(tabspace); 
lot.appendChild(streamlbl); 
lot.appendChild(streamtypelbl); 
lot.appendChild(br); 
lot.appendChild(PredefStreamdiv); 

createattr(); 
$(".streamType").append(showStreamType()); 
$(".queryPanel"). 

hide(); 

} 

在这里,我使用代替tabspace的& NBSP尝试,但它不工作。

+1

创建与' 尝试复选框和标签之间的空间'(是一个实体,并且必须以& and ;包围)。您可以使用'“\ t”'添加一个选项卡,但可能不会像您期望的那样显示渲染。 –

+0

正如我在问题中提到的,我尝试过使用&nbsp,但没有奏效。所以我不得不切换到表结构。但应该有一种附加标签空间的方式,并且很好奇。 –

+1

你的代码中有'tabspace.innerHTML =“ ";'(&nbsp),试着用'tabspace.innerHTML =” “;'( )。 –

回答

0

除了这个解决方案" " 在两个动态创建的元素之间创建空间之外,还可以创建任何元素,例如也不应该是块级元素的任何元素。例如创建其动态

var cb = document.createElement("input"); 
var label = document.createElement("label"); 
var span = document.createElement("span"); 
append(li,cb); 
append(li,span); 
append(li,label); 
span.innerHTML = " ";