jQuery:生成HTML

5
有没有更好的方法来做以下事情?
var html;
var i;
for (i=0; i < 4; i++) {
    html += '<div class="row">';
    html += '<span class="label">Dining Style:</span>';
    html += '<span class="control">';

    var j;
    for (j=0; j < 3; j++){
        html += '<div class="attribBox">';
            html += '<ul>';
                html += '<li><input type="checkbox" /> item 1</li>';
            html += '</ul>';
        html += '</div>';
    }
    html += '</span>';
    html += '<div class="clear"></div>';
}

$("#content").html(html);
4个回答

6

不必手动创建html,您可以使用jquery函数(1.4+版本可用)使代码更加简洁。以下是一个示例:

$("#content").append($("<div/>", {class : 'row'}).append($("<span/>", {class:'label', text : 'Dining Style'})))

上述代码将生成:
<div class="row"><span class="label">Dining Style</span></div>

你仍然需要循环来创建三个子元素,但这样更加简洁。


4

非常有趣。这需要我一些时间来调查,但我可以看到它有多么强大! - dcolumbus
我正在尝试理解这是如何工作的...是否可能在模板中嵌套其他模板? - dcolumbus
我相信可以嵌套模板。请查看此演示文稿以获取更多信息:http://www.slideshare.net/garann/using-templates-to-achieve-awesomer-architecture。 - James Hughes
1
我认为JQuery模板已被移除。 - Amir Raminfar

1

我会使用像iCanHaz.js这样的模板系统。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接