Dojo1.8-将长html内容插入到domcontuct.place()中

Dojo1.8-将长html内容插入到domcontuct.place()中,dojo,Dojo,您好,我对dojo的domConstruct.toDom和domConstruct.place有问题。 无论我是同时使用domConstruct函数还是仅使用domConstruct.place,我似乎都无法做到这一点 放置长html列表标记。 请看下面我的脚本: var row = domConstruct.toDom('<ul id="list"> <li class="odd"> <div class="bold"> <a

您好,我对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>
请提前告知,谢谢


Clement

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

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

请看

从我所看到的无效javascript,您的列表字符串格式不正确,浏览器没有显示任何错误吗?嗨,耶利米,谢谢您的回复,这对我很有帮助。感谢againHi Jeremiah,如果我使用第一种方法,似乎我无法将两个UL标记List1和list2一起使用\来连接变量行。在阅读了dojo/text.html之后,如果我在应用domConstruct.place之前要使用其中任何一种方法,那么我需要知道如何应用查询,即变量行中的list1或.class。我也在dojo/query中搜索帮助,但没有任何帮助。再次提前感谢。嗨,Jeremiah,看起来我可以使用query,而不涉及变量,尽管我需要变量行构建DOm。它起作用了。但是如何将两个UL标签连接到\?谢谢,我不知道你用\加入两个UL标签是什么意思。也许你可以发布一个新问题,或者用给你带来麻烦的代码更新你的问题。
var row = domConstruct.toDom('<ul id="list"> \
<li class="odd"> \
    <div class="bold"> \
        <a class="odd">Odd</a> \
....
<li class="odd">Odd</li></ul>');
require(["dojo/text!myListHtml.html"], function(myListHtml){
     var row = domConstruct.toDom(myListHtml);
});