jquery
  • html
  • 2010-10-21 23 views 5 likes 
    5

    Có cách nào tốt hơn để làm như sau không?jQuery: tạo 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); 
    

    Trả lời

    4
    +0

    Vô cùng thú vị. Điều này sẽ đưa tôi một chút thời gian để điều tra, nhưng tôi có thể thấy sức mạnh này có thể như thế nào! – dcolumbus

    +0

    Tôi đang cố gắng để hiểu cách thức hoạt động ... có thể có mẫu trong các mẫu không? – dcolumbus

    +0

    Tôi tin rằng có thể làm tổ mẫu có. Xem bản trình bày này để biết thêm thông tin http://www.slideshare.net/garann/using-templates-to-achieve-awesomer-architecture –

    0

    Nối Child
    Tạo phần tử
    hoặc đơn giản nhất, innerHTML: http://www.tizag.com/javascriptT/javascript-innerHTML.php

    5

    Thay vì tạo html, bạn có thể sử dụng chức năng jquery, có sẵn trong 1,4+, để làm cho mã của bạn sạch hơn. Dưới đây là một ví dụ:

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

    Đoạn mã trên sẽ tạo ra:

    <div class="row"><span class="label">Dining Style</span></div> 
    

    Bạn vẫn phải vòng lặp để tạo ra ba đứa con nhưng đây là nhiều bụi.

    1

    Tôi sẽ sử dụng hệ thống templating như iCanHaz.js

    Các vấn đề liên quan