如何使用dojo创建div?

时间:2013-05-06 11:55:36

标签: html dojo

我想通过dojo create(包括h1和ul)从这个例子中生成divNodes0 div:

<body class="mobile">
    <div dojoType="dojox.mobile.View" id="mobileView">
        <div dojoType="dojox.mobile.ScrollableView" id="divNodes01" scrollDir="v" style="background-color: #d0d0d0;">
            <h1 dojoType="dojox.mobile.Heading" fixed="top" id="h1Nodes01"></h1>
            <ul id="ulNodes01" dojoType="dojox.mobile.RoundRectList"></ul>
        </div>
    </div>
[...]
</body>
我试过这种方式(没有成功):

var mobileView = document.getElementById("mobileView");
dojo.create("div",{
            id: "divNodes0",
            dojoType: "dojox.mobile.ScrollableView",
            scrollDir: "v",
            style: "background-color: #d0d0d0"
            },
            mobileView,"first");


var mainNodeDiv = document.getElementById("divNodes0");
dojo.create("h1",{
            id: "h1Nodes0",
            dojoType: "dojox.mobile.Heading",
            back: "zurŸck",
            moveTo: "divNodes0",
            fixed: "top",
            label: "Knoten&uuml;bersicht"
            },
            mainNodeDiv,"first");

    dojo.create("ul",{
            id: "ulNodes0",
            dojoType: "dojox.mobile.RoundRectList"
            },
            mainNodeDiv);

迎接汤姆

1 个答案:

答案 0 :(得分:2)

如果您想按ID查找节点,通常需要使用dojo.byId('someId')

dojo.create的第三个参数可以是domNode(就像你使用的那样)或dom节点的id:dojo.create('h1',{},'divNodes0','first')

根据您对dojoType属性的使用情况,您似乎想要使用“小部件”而不是dom节点。窗口小部件通常是domnodes的模板,具有内置样式和事件处理,可轻松重用。实例化和放置小部件很简单:

var heading = new dojox.mobile.Heading({
  id: "h1Nodes0",
  dojoType: "dojox.mobile.Heading",
  back: "zurŸck",
  moveTo: "divNodes0",
  fixed: "top",
  label: "Knoten&uuml;bersicht"
});
heading.placeAt('divNodes0','first');