1

嗨,我对 dojo 的 domConstruct.toDom 和 domConstruct.place 有疑问。无论我使用 domConstruct 函数还是只使用 domConstruct.place,我似乎都无法放置长 html 列表标签。请在下面查看我的脚本:

var row = domConstruct.toDom('<ul id="list">
<li class="odd">
    <div class="bold">
        <a class="odd">Odd</a>
    </div>
</li>
<li class="even">
    <div class="italic">
        <a class="even">Even</a>
    </div>
</li>
<li class="odd">
    <a class="odd">Odd</a>
</li>
<li class="even">
    <div class="bold">
        <a class="even">Even</a>
    </div>
</li>
<li class="odd">
    <div class="italic">
        <a class="odd">Odd</a>
    </div>
</li>
<li class="even">
    <a class="even">Even</a>
</li>

<ul id="list2">
<li class="odd">Odd</li></ul>');

domConstruct.place(row,"CPane_Chart");

请指教,提前谢谢

克莱门特

4

1 回答 1

0

问题不在于 Dojo,而是您不能在 JavaScript 中使用多行字符串,除非您\在末尾用 a 转义新行。所以你可以做这样的事情:

var row = domConstruct.toDom('<ul id="list"> \
<li class="odd"> \
    <div class="bold"> \
        <a class="odd">Odd</a> \
....
<li class="odd">Odd</li></ul>');

不过,就个人而言,我更喜欢将这样的 HTML 放入外部 HTML 文件并使用 dojo/text 加载它:

require(["dojo/text!myListHtml.html"], function(myListHtml){
     var row = domConstruct.toDom(myListHtml);
});

http://dojotoolkit.org/reference-guide/1.8/dojo/text.html

于 2013-01-11T15:12:39.333 回答