Gå til innhold

[JS] Hva er best av disse metodene


Anbefalte innlegg

Gitt at man har koden:

 

<span id="todaysDateSpan"></span>

 

Dette:

 

var noDate = '24-11-2011';
document.getElementById('todaysDateSpan').innerHTML = noDate;

 

eller dette:

 

var noDate = '24-11-2011';
var dateSpan = document.getElementById('todaysDateSpan');
while (dateSpan.hasChildNodes()) dateSpan.removeChild(dateSpan.lastChild);
dateSpan.appendChild(document.createTextNode(noDate));

Endret av xibriz
Lenke til kommentar
Videoannonse
Annonse

Tja, det sies jo at man alltid skal bruke DOM forran innerHTML pga. kompabilitet blandt nettleserene.

innerHTML var i utgangspunktet en Microsoft IE extension. FF, Safari, Chrome og Opera har støttet den i alle versjoner det er noen vits å snakke om. Så jeg ville ikke vært redd for kompabilitetsproblemer.

 

W3C sier derimot følgende: "If you remove elements through innerHTML in IE, their content is wiped and only the element itself (i.e. opening and closing tags) remain. If you want to remove nodes that you may want to reinsert at a later time, use DOM methods such as removeChild()."

 

Så da blir det en vurderingsak.

 

De sier videre:

 

"In general innerHTML is faster than normal DOM methods because the HTML parser is always faster than the DOM engine. If you want to do complicated changes, use innerHTML. (For simple changes it does not really matter which method you use, although innerHTML remains theoretically faster.)"

Endret av torbjørn marø
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...