以编程方式添加标签

时间:2011-03-23 09:42:48

标签: dojo

我有一个div id =“container”容器,我需要为该div添加标签(10或4或1 - 取决于我点击的按钮)并且需要看起来像表(行x 2列)。怎么做到这一点? 如何以编程方式添加标签?

3 个答案:

答案 0 :(得分:6)

您可以使用dojo.create函数。 E.g:

var label = dojo.create("label", {for:"fieldId", innerHTML:"SomeText"}, "tableCellId");

其中tableCellId - 要添加标签的元素的id

同样,您可以动态创建表格,并将标签添加到新表格中。

var table = dojo.create("table", null, dojo.body());
var row = dojo.create("tr", null, table);
var cell = dojo.create("td", null, row);
var label = dojo.create("label", {for:"fieldId", innerHTML:"SomeText"}, cell);

Dojo create documentation

答案 1 :(得分:3)

以下是我在dojo中的表现。

dojo.place('<label for="field">Field Name</label>', dojo.byId('widget_fieldId'), 'before');

答案 2 :(得分:0)

我发现在创建TextEntry元素之前我需要将标签添加到容器中,但引用了TextEntry元素的id。

下面是我为编辑器添加标签的示例:

var tabWizard = new TabContainer({
   id : "tabWizard",
   class : "centerTabContainer",
   tabPosition : "left"
});
var tab = new ContentPane({
   title : "tabTitles",
   class : "tabPage"
});
tabWizard.addChild(tab);
var tabContainer = new BorderContainer({
   design : 'headline',
   gutters : false
});
var tabMain = new ContentPane(
   {
      id : "tabMain_What",
      class : "cdmMain",
      region : "center"
   });
tabMain.startup();
// here is where the label is created referencing the id details
tabMain.domNode.appendChild(
   dojo.create("label",{
      "for" : "details", innerHTML : "Details:" 
    })
);
// here is the editor to be labeled as "Details:"
var tabPrompt = new Editor({
   id : "details",
   name : "details",
   class : "details"
});
tabMain.addChild(tabPrompt);
tabContainer.addChild(tabMain);
tab.addChild(tabContainer);