finomságok innerHTML

innerHTML nem olyan egyszerű, mint amilyennek tűnik, és tele van néhány finomságok, hogy megzavarja a kezdő és néha tapasztalt programozó.

Nézd meg őket.

Mert táblázatok IE9- - innerHTML csak olvasható

Az Internet Explorer 9-es és korábbi, innerHTML csak olvasható a COL elemek COLGROUP, FRAMESET, HEAD, HTML, stílus, táblázat, TBody, tfoot, thead, CÍM, TR.

Különösen, lehetetlen IE9- prisvoitinnerHTMLtablichnym elemeket, de sejteket (TD / TH).

Hozzáadása innerHTML + = végzi a másolást

Szintaktikailag felveheti szöveget a innerHTML keresztül + =:

chatDiv.innerHTML + = "

Üdvözlet!

chatDiv.innerHTML + = "Hogy van?";

A gyakorlatban ezt úgy kell használni, nagy óvatossággal, mert valójában nincs összeadás és újraírása:

Az ő helyében, ez lesz az új érték innerHTML.

Mivel az új értéket a semmiből, az összes kép és egyéb forrásokat kell tölteni. A fenti példában, a második sorban újratölt smile.gif, ami előtt.

Ha chatDiv egy csomó szöveget, akkor az újraindítás lesz nagyon észrevehető.

Szerencsére vannak más módon felvenni a tartalom használata nélkül innerHTML.

Hozzáadása innerHTML + = végzi a másolást

Szintaktikailag felveheti szöveget a innerHTML keresztül + =:

chatDiv.innerHTML + = "

Üdvözlet!

chatDiv.innerHTML + = "Hogy van?";

A gyakorlatban ezt úgy kell használni, nagy óvatossággal, mert valójában nincs összeadás és újraírása:

Az ő helyében, ez lesz az új érték innerHTML.

Mivel az új értéket a semmiből, az összes kép és egyéb forrásokat kell tölteni. A fenti példában, a második sorban újratölt smile.gif, ami előtt.

Ha chatDiv egy csomó szöveget, akkor az újraindítás lesz nagyon észrevehető.

Szerencsére vannak más módon felvenni a tartalom használata nélkül innerHTML.

A parancsfájlok nem kerülnek végrehajtásra

Ha vinnerHTMLest tegscript- nem lesz végrehajtva

var elem = document.getElementById ( 'én');

Példa záró tag Meg van osztva két sort, mint különben a böngésző úgy gondolja, hogy ez a vége a forgatókönyvet. A behelyezett script nem kerül végrehajtásra.

Kivétel - IE<10, в нем вставляемый скрипт выполняются, если у него есть атрибут defer (это нестандартная возможность

var elem = document.getElementById ( 'én');

elem.innerHTML = „Az IE