Az oldal HTML forrásának manipulálása JavaScriptből az innerHTML tulajdonság segítségével

or Cancel

 ez a konténer egyelőre üres.

 

Kommentár

Sokszor szükség van az oldal HTML forrásának manipulálására JavaScriptből. Két lehetőség közül választhatunk: Ez a példakód az utóbbi lehetőséggel folglalkozik. Elsősorban arra mutat rá, hogy az .innerHTML használata mikor nem ajánlott.

Az .innerHTML tulajdonságot a Microsoft vezette be az Internet Explorer egy régebbi verziójában. A megoldást, mint egy elég jól használható lehetőséget, késobb átvette a többi böngésző is, így ma már minden elterjedt böngészőben használható (IE, Firefox, Opera, Safari), gyakorlatilag kvázi szabvánnyá vált. Bár jelenleg nem szabványos a megoldás, a következő DOM szabványnak a WhatWG tevékenységének köszönhetően várhatóan része lesz.

Kettő narancssárga színnel kiemelt konténer elem van az oldalon. Az első konténer egy összetett HTML struktúrát tartalmaz. A két konténer között található nyomógomb lenyomásakor az első konténer elem (div tag) HTML részlete (az elem .innerHTML tulajdonságának értéke) áthelyeződik a második konténerbe. DOM manipulációval ugyanezt a feldatot csak tekintélyes kódtömeggel tudtuk volna elérni. Az innerHTML-t gyorsasága és egyszerüsége miatt alkalmazzák.

Az oldal betöltésekor egy eseménykezelő függvény lett hozzárendelve a "Cancel" hivatkozás onclick tulajdonságához. Rákattintva a hivatkozásra egy üzenet jelenik meg. Ezt ki is próbálhatjuk, ha még nem nyomtuk meg a két konténer között elhelyezkedő nyomógombot. Ha egy HTML elem innerHTML tulajdonságának értékét egy másik HTML elem innerHTML tulajdonságához rendeljük (az elso elem innerHTML tulajdonságához üres sztringet kell rendelni), az eseménykezelő függvényeket újból hozzá kell rendelni a HTML elemekhez. A nyomógomb lenyomása után hiába kattintunk a "Cancel" hivatkozásra, az eseménykezelő függvény nem kerül meghívásra.

Összegzés