代码之家  ›  专栏  ›  技术社区  ›  Jim Mitchener

用jquery创建对象:字符串concat还是方法?

  •  1
  • Jim Mitchener  · 技术社区  · 14 年前

    var tr = $('<tr/>').addClass('foobar');
    // or    $('<tr class="foobar"/>');
    
    tr.append('<td>' + someobj.property + '</td>');
    // or ...
    tr.append($('<td/>').text(someobj.property));
    
    6 回复  |  直到 14 年前
        1
  •  3
  •   markquezada    14 年前

        2
  •  2
  •   simshaun    14 年前

    $('<tr class="foobar"/>') tr.append('<td>' + someobj.property + '</td>');

        3
  •  2
  •   Ben    14 年前

    jQuery performance (2)

    我个人喜欢使用 Resig's awesome micro templating 创建HTML的技巧,然后一次性附加所有内容。整洁快速。也易于修改。

        4
  •  1
  •   user113716    14 年前

    最后一行不正确,因为 text() 正在呼叫 tr .

    就我个人而言,我会这样做:

    var tr = $( '<tr>', {'class':'foobar'} );
    $( '<td>', {text:someobj.property} ).appendTo( tr );
    

    或:

    var tr = $( '<tr>', {'class':'foobar'} )
                 .append( $('<td>', {text:someobj.property}) );
    
        5
  •  0
  •   Russ Cam    14 年前

    jquery的更多方式可能是使用jquery方法,但对于特定情况,这是否是最好的方法取决于best的含义。

    使用jquery方法可能对可读性最好。

    字符串串联、推送到数组,然后连接或使用文档片段可能是提高性能的更好方法。

    根据您选择的使用方式,应该遵循的一点是在内存中构建结构,并且只在DOM中执行一次插入。

        6
  •  0
  •   Richard Key    14 年前

    就我个人而言,我倾向于选择性能最好的产品。我不是一个什么可能是超级专家,但似乎在这里的其他人已经启发我们什么是,所以我会去什么将给你最好的表现总体上。你最不想做的事情是一些运行缓慢的事情,因为你第一次没有考虑到优化。