zugriff auf elemente mittels childNodes

wuchermaNN

Grünschnabel
Hallo Zusammen,

folgendes Problem, ich will auf ein IMG-element zugreifen, aber irgendwie will's mir nicht gelingen.

Szenario:
html-baum:
HTML:
<html>
<body>
<iframe>
<html>
<body>
...
<iframe id="mapframe"
	<div id="maps" name="maps">
		<div id="div_0">
			<img id="map_0" src="..." name="mapimage"/>
		</div>
		<div id="div_1">
			<img id="map_1" src="..." name="mapimage"/>
		</div>
		<div id="div_2">
			<img id="map_2" src="..." name="mapimage"/>
		</div>
	...
	</div>
</iframe>
...
</body>

Ich will nun die jeweiligen src-attribute aus den <img>-Tags mit der id="map_?" auslesen.
probiert hab ich das mittels .childNodes[] in zwei Schleifen:

Code:
mapframe = window.frames["mapframe"].document.getElementById("maps").childNodes;
var i = 0;
   
for (element in mapframe){
	div_id = "div_"+i;
   	node_div = mapframe[element];
	if(node_div.id == div_id){
		for (attr in node_div){
			map_id = "map_"+i;
			node_map = node_div.childNodes[attr];
			alert(node_div.id + " - " + node_map.id);
		        if(node_map.id == map_id){
				url = node_map.src;
				alert(url);
				i++;
			}
		}
	}
}

Folgende Fehlermeldung:
node_map has no properties
alert(node_div.id + " - " + node_map.id);

ich komme nicht an das Objekt node_map ran.

Hat jemadn ne Idee,
oder gibt's ne viel einfachere Lösung?

VIelen Dank im Voraus
 
Hallo,


das Problem dürfte primär darin bestehen, dass auch einfacher Fliesstext und Whitespaces als Kind-Knoten angesehen werden.
Ich würde dir vorschlagen, statt per childNodes() per getElementsByTagName() auf die Knoten zuzugreifen...diese Methode lässt sich nämlich auch auf Knoten und nicht nur auf document anwenden und dürfte dort ein angenehmeres Arbieten ermöglichen :)
 
Hallo Sven,

ich hab das Problem jetzt mit dem Array:
"window.frames["mapframe"].document.images" gelöst.
Dadurch erhalte ich Zugriff auf die einzelnen img-Tags.

Vielen Dank für Deine Hilfe,
WUcher
 

Neue Beiträge

Zurück