在Javascript中动态创建和添加制表符空间

4
我正在尝试动态创建一个表单,需要在两个元素之间添加一个制表符。唯一的问题可能是需要放置的标签(createElement(...))。请注意,我省略了表单将包含的许多其他元素。
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();

}

我尝试使用&nbsp代替制表符,但它不起作用。


1
尝试使用  (是一个实体,必须用 & 和 ; 包围)。您可以使用 "\t" 添加制表符,但可能呈现的效果不如您所期望的那样。 - José M. Carnero
正如我在问题中提到的,我尝试使用   但它没有起作用。所以我不得不切换到表格结构。但应该有一种方法可以添加制表符,我很好奇这个。 - Nayantara Jeyaraj
1
在你的代码中,你使用了 tabspace.innerHTML = "&nbsp"; (&nbsp) 的语句,请尝试使用 tabspace.innerHTML = " "; ( ) 进行测试。 - José M. Carnero
1个回答

1
除了使用" "这个解决方案来在两个动态创建的元素之间创建空间外,您还可以创建任何元素,例如,该元素不应为块级元素。例如,在动态创建复选框和标签之间创建空格。
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 = "  ";

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接