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.

HOZZÁSZÓLOK A CIKKHEZ

Kérjük, írja be véleményét!
írja be ide nevét