Rekurzív DOM bejárás [snippet]


Jól jöhet az alábbi kód, ha JavaScripttel kell bejárni a DOM-fát egy csomópontból kiindulva

function walkDomTree(start, callback) {
	for(var i = 0; i < start.childNodes.length; i++) {
		if(start.childNodes[i].nodeType != 3) {
				callback(start.childNodes[i]);
				walkDomTree(start.childNodes[i], callback);
		}
	}
}

A kód a start paraméterben megadott csomóponttól (Node) kezdve rekurzívan “lefelé” végigjárja a DOM-fát és a második paraméterben megadott függvényt minden nem szöveg elemmel meghívja.

Pl.:

walkDomTree(document, function(element) { if(element.id != '') { element.id = 'clone_' + element.id; } });

Ez a kód a dokumentumban előforduló összes azonosítóval (id) rendelkező elem azonosítóját ellátja egy clone_ prefixummal.

Kapcsolódó bejegyzések:
  • Aki írt már JavaScript kódot tudja, hogy a nyelv rengeteg objektummal dolgozik, és minden objektumnak vannak böngésző-specifikus tulajdonságai, metódusai. Ilyen …

  • A bundlehunt.com oldalon most elég nagy kedvezménnyel lehet megvenni egy ebook csomagot, melyet az alábbi témákból állítottak össze:Design HTML5 és JS A …

  • Az alábbi JavaScript kód segítségével könnyedén ellenőrizhetjük, hogy a megadott e-mail cím formailag helyes-e. A function TRUE vagy FALSE értékkel tér vissza. ( …

  • Az bekezdésszintű HTML elemek leírása; H1-H6, ADDRESS, P, UL LI és OL, DL DT és DD, PRE, DIR és MENU, DIV és CENTER, BLOCKQUOTE, HR1. Fejlécek ‹H1› – ‹H6› …

  • Nemrég volt hír a lapon a “Google SEO Start Guide” megjelenéséről és most a híreket böngészve belekadtam egy hozzá kapcsoló, hasznos anyagba.Google SEO G …

A cikket beküldte: BlackY ()

Szólj hozzá
a Rekurzív DOM bejárás [snippet] c. bejegyzéshez

- Engedélyezett HTML elemek: <a> <em> <strong> <ul> <ol> <li>
- Forráskód beküldéséhez tedd a kódot ezek közé: <pre lang="php" line="1">Kódrészlet helye itt</pre>