jQuery:生成 html

标签 jquery html

是否有更好的方法来执行以下操作?

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);

最佳答案

除了创建 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>

您仍然需要循环创建三个子项,但这要简洁得多。

关于jQuery:生成 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3992191/

相关文章:

javascript - 动画图像输出,将其附加到结尾,淡入淡出......无休止地重复

javascript - jsTree:progressive_render 与数组中的 ajax/render 节点

javascript - 在javascript中检测webkit浏览器?

javascript - 居中img,绝对定位在div内, overflow hidden

html - 在父文本和子文本内容之间交换文本位置

javascript - Jquery onmouseover 函数在第一次悬停时没有被触发

javascript - 这个 jquery 有什么问题

javascript - knockout.js 并修复了元素上的左滚动绑定(bind)

html - 伪元素在元素的顶部而不是在元素的底部

html - HTML/CSS 中具有相同行高的多列