SORU
6 Kasım 2008, PERŞEMBE


jQuery belge.createElement eşdeğer?

Bazı eski JavaScript kodu yeniden düzenleme yapıyorum ve DOM manipülasyon çok şey var.

var d = document;
var odv = d.createElement("div");
odv.style.display = "none";
this.OuterDiv = odv;

var t = d.createElement("table");
t.cellSpacing = 0;
t.className = "text";
odv.appendChild(t);

Eğer bu jQuery kullanarak yapmanın daha iyi bir yolu varsa bilmek isterim. Deniyorum:

var odv = $.create("div");
$.append(odv);
// And many more

Ama eğer bu herhangi bir iyi olup olmadığından emin değilim.

CEVAP
6 Kasım 2008, PERŞEMBE


burada "" çizgi. bir örnek

this.$OuterDiv = $('<div></div>')
    .hide()
    .append($('<table></table>')
        .attr({ cellSpacing : 0 })
        .addClass("text")
    )
;

GüncellemeHala çok trafik alır beri Bu yazı güncellemek istedim. Yeni unsurlar yaratarak $("<div>") vs $("<div></div>") vs $(document.createElement('div')) ile ilgili bazı tartışmalar var aşağıda, yorum olarak "" en iyi

Birlikte a small benchmark, koydum ve burada kabaca yukarıdaki seçenekleri 100,000 kez tekrar sonuçları:

1.4, 1.5, 1.6 jQuery

               Chrome 11  Firefox 4   IE9
<div>            440ms      640ms    460ms
<div></div>      420ms      650ms    480ms
createElement    100ms      180ms    300ms

bir WordPress kullanmak 1.3

                Chrome 11
<div>             770ms
<div></div>      3800ms
createElement     100ms

bir WordPress kullanmak 1.2

                Chrome 11
<div>            3500ms
<div></div>      3500ms
createElement     100ms

Bu büyük bir sürpriz değil sanırım, ama document.createElement en hızlı yoludur. Tabii ki, önce git ve başla yeniden düzenleme tüm kod temeli, unutma ki farklar bahsediyoruz burada (tüm ama arkaik sürümleri jQuery) eşit bir ekstra 3 milisaniyebinlerce elemanları başına.

Güncelleme 2

JQuery 1.7.2 için güncelleştirilmiş ve muhtemelen ilkel benim kriterler biraz daha bilimsel olan JSPerf konusunda kriter koymak, şimdi crowdsourced olabilir plus!

http://jsperf.com/jquery-vs-createelement

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Deany Boii

    Deany Boii

    27 Kasım 2007
  • DJPixcell

    DJPixcell

    20 NİSAN 2007
  • paikimchung

    paikimchung

    12 Mayıs 2006