jquery模板组合

jquery模板组合,jquery,templates,jquery-templates,Jquery,Templates,Jquery Templates,我在一个数据对象中有73项,我想创建每页最多12项的页面视图,我尝试使用jquery模板逻辑来确定何时关闭和打开一个新的页面div,就像这样。请原谅任何语法或逻辑错误,我很快就从记忆中重新编写了这篇文章 <script id="listTmpl" type="text/x-jquery-tmpl"> {{if idx == 0}} <div class="page"> {{/if}} <div class="item mrl">

我在一个数据对象中有73项,我想创建每页最多12项的页面视图,我尝试使用jquery模板逻辑来确定何时关闭和打开一个新的页面div,就像这样。请原谅任何语法或逻辑错误,我很快就从记忆中重新编写了这篇文章

<script id="listTmpl" type="text/x-jquery-tmpl">

{{if idx == 0}}
    <div class="page">
{{/if}}

        <div class="item mrl">
            <a href="">
                <img src="http://files.stv.tv/img/player/${programmeName}/episodes/${episodeName}-230.jpg" alt="${programmeNiceName}" />
                <h3 class="mln mvs">${programmeNiceName}</h3>
                <p>${idx}</p>
            </a>        
        </div>

{{if idx % 12 == 0}}
    </div>
    <div class="page">
{{/if}}

{{if idx == ($item.getTotal() - 1)}}
    </div>
{{/if}}

</script> 

{{如果idx==0}}
{{/if}
{{如果idx%12==0}
{{/if}
{{如果idx==($item.getTotal()-1)}
{{/if}
不幸的是,在chrome中,我得到了以下错误

未捕获的TypeError:无法调用未定义的方法“push”

我的假设是,在对每个项目的某些迭代中,生成的html无效,这会引发错误,有人能建议更好的方法吗,或者我可能会出错的地方

我的假设是,在对每个项目的某些迭代中,生成的html无效,这会引发错误,有人能建议更好的方法吗,或者我可能会出错的地方

Nope
push
阵列
原型上的一种方法。我的猜测是,您试图将值推送到
对象
或其他类型上,而不是推送到
数组
上。我不能确定,因为它不是你发布的模板代码,除非你遗漏了那部分

我的假设是,在对每个项目的某些迭代中,生成的html无效,这会引发错误,有人能建议更好的方法吗,或者我可能会出错的地方


Nope
push
阵列
原型上的一种方法。我的猜测是,您试图将值推送到
对象
或其他类型上,而不是推送到
数组
上。我不能确定,因为它不是您发布的模板代码,除非您遗漏了该部分。

我很好奇,您不能拥有类似-->?的代码吗

{{如果idx%12==0}
{{/if}
{{if(idx%12==0&&idx>0)| | idx==$item.getTotal()-1}
{{/if}
我现在正在研究另一种动态生成HTML的方法(一个开源项目),例如,您的案例可以类似于一个元素节点树。 我希望以下代码对您来说是清楚的

function getYouHTML(allData){
    var t = Tog('div.page'); // new a div node

    for(var i = 0; i < allData.length; i ++){
        var d = allData[i]
        t.Div('.item.mrl')
        .A().href('')
        .img().src("http://files.stv.tv/img/player/", d.programmeName, "/episodes/", d.episodeName, "-230.jpg")
            .alt(d.programmeNiceName)
        .h3(d.programmeNiceName).cls('mln mvs')
        .p(d.idx)
        .close('.item.mrl')

        if(i % 12 == 0){
            t.close('.page').Tog('div.page'); // close it and re-new one if i % 12 == 0
        }
    }

    return t.html();
}

// json = [{idx:0, programmeName: 'name 1', episodeName: ...}, {idx: 1, program... }, {idx: 2, ...} ]
getYouHTML(json);
函数getYouHTML(allData){ var t=Tog('div.page');//新建一个div节点 对于(var i=0;i我很好奇,难道你不能用-->这样的代码吗

{{如果idx%12==0}
{{/if}
{{if(idx%12==0&&idx>0)| | idx==$item.getTotal()-1}
{{/if}
我现在正在研究另一种动态生成HTML的方法(一个开源项目),例如,您的案例可以类似于一个元素节点树。 我希望以下代码对您来说是清楚的

function getYouHTML(allData){
    var t = Tog('div.page'); // new a div node

    for(var i = 0; i < allData.length; i ++){
        var d = allData[i]
        t.Div('.item.mrl')
        .A().href('')
        .img().src("http://files.stv.tv/img/player/", d.programmeName, "/episodes/", d.episodeName, "-230.jpg")
            .alt(d.programmeNiceName)
        .h3(d.programmeNiceName).cls('mln mvs')
        .p(d.idx)
        .close('.item.mrl')

        if(i % 12 == 0){
            t.close('.page').Tog('div.page'); // close it and re-new one if i % 12 == 0
        }
    }

    return t.html();
}

// json = [{idx:0, programmeName: 'name 1', episodeName: ...}, {idx: 1, program... }, {idx: 2, ...} ]
getYouHTML(json);
函数getYouHTML(allData){ var t=Tog('div.page');//新建一个div节点 对于(var i=0;i因为它需要更改jquery模板代码的第426行,所以这个问题的修复需要更改jquery模板代码的第426行

因为它需要更改jquery模板代码的第426行

如果有帮助的话,我在模板html中有一个未关闭的锚标记时遇到了这个错误。添加
修复了这个问题。

如果有帮助,我在html模板中有一个未关闭的锚标记时遇到了这个错误。添加
修复了这个问题。

我在搜索ages试图找到解决方案,然后我找到了这个答案,检查了标记并发布了一个未关闭的标记。。谢谢你,罗布!!不客气。前几天我第二次遇到这个问题,错误的html仍然是原因。我一直在寻找解决方案,然后我找到了这个答案,检查了标记并发布了一个未关闭的标记。。谢谢你,罗布!!不客气。前几天我第二次遇到这个问题,html格式错误仍然是原因。