subtilitățile innerHTML
innerHTML nu este la fel de simplu cum ar părea, și este plină cu unele dintre subtilitățile care pot crea confuzie novice și programator, uneori, cu experiență.
Verificați-le.
Pentru tabelele din IE9- - innerHTML read-only
În Internet Explorer, versiunea 9 și versiunile anterioare, innerHTML este read-only pentru elementele COL, COLGROUP, FRAMESET, HEAD, HTML, stil, masa, TBODY, TFOOT, THEAD, TITLUL, TR.
În special, este imposibil de elemente IE9- prisvoitinnerHTMLtablichnym, dar celulele (TD / TH).
Adăugarea innerHTML + = efectueaza dublajului
Sintactic, puteți adăuga text la innerHTML prin + =:
chatDiv.innerHTML + = "
chatDiv.innerHTML + = "Cum vă simțiți?";
În practică, acest lucru ar trebui să fie utilizat cu mare precauție, pentru că, de fapt, nu există nici un plus și rescrierea:
În locul lui, acesta devine noua valoare a innerHTML.
Având în vedere că noua valoare este scris de la zero, toate imaginile și alte resurse vor fi reîncărcată. In exemplul de mai sus, a doua linie reîncarcă tongue.gif, care a fost înainte de aceasta.
În cazul în care chatDiv o mulțime de text, atunci repornirea va fi foarte vizibile.
Din fericire, există și alte modalități de a adăuga conținut fără a utiliza innerHTML.
Adăugarea innerHTML + = efectueaza dublajului
Sintactic, puteți adăuga text la innerHTML prin + =:
chatDiv.innerHTML + = "
chatDiv.innerHTML + = "Cum vă simțiți?";
În practică, acest lucru ar trebui să fie utilizat cu mare precauție, pentru că, de fapt, nu există nici un plus și rescrierea:
În locul lui, acesta devine noua valoare a innerHTML.
Având în vedere că noua valoare este scris de la zero, toate imaginile și alte resurse vor fi reîncărcată. In exemplul de mai sus, a doua linie reîncarcă tongue.gif, care a fost înainte de aceasta.
În cazul în care chatDiv o mulțime de text, atunci repornirea va fi foarte vizibile.
Din fericire, există și alte modalități de a adăuga conținut fără a utiliza innerHTML.
Script-urile nu sunt executate
Dacă vinnerHTMLest tegscript- nu va fi executat
var elem = document.getElementById ( 'my');
Exemplu tag de închidere Acesta este împărțit în două linii, ca în caz contrar, browser-ul va crede că acest lucru este sfârșitul script-ul. Script-ul introdus nu este executat.
Excepție - IE<10, в нем вставляемый скрипт выполняются, если у него есть атрибут defer (это нестандартная возможность
var elem = document.getElementById ( 'my');
elem.innerHTML = „pentru IE