[Javascript]Auf alle Links innerhalb eines Elements zugreifen

moses_78

Aktives Mitglied
Thread Starter
Dabei seit
08.04.2005
Beiträge
1.288
Reaktionspunkte
22
Hallo zusammen,

ich möchte auf Links innerhalb des Div-Elements "fff" zugreifen, und die Attri-
bute dieser ändern. Das sieht bis jetzt so aus:
Code:
 var eltern_element = document.getElementById('fff');
 alert(eltern_element.links.length);
document.links.length funktioniert natürlich einwandfrei, warum meine oben
genannte Methode nicht?

Ich wäre seeehr dankbar für Antworten :)

Mathias
 
Keiner ne Idee :(

dms, hammer, etc., wo seid ihr ;)
 
Hallo moses,

die funktion links steht offensichtlich nur dem Objekt document zur Verfügung. Ich hab dir anbei mal einen Weg skizziert, wie du das evtl. angehen könntest:
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
	<title>Untitled</title>
	<meta name="generator" content="handmade by b." />
	<script type="text/javascript" language="javascript1.2">
	// <![CDATA[
	
		function test()
		{
			var anker = new Array();
			eltern_element = document.getElementById('fff');
			alert(eltern_element.childNodes.length);
			
			for (i = 0; i < eltern_element.childNodes.length; i++)
			{
				alert("Knoten #"+i+": "+eltern_element.childNodes[i].nodeName)
				if (eltern_element.childNodes[i].nodeName == "A")
				{
					anker[anker.length] = eltern_element.childNodes[i];
				}
			}
		}
		
	// ]]>
	</script>
</head>
<body>
<div id="fff">
	<a href="#">Link innerhalb 1</a> <!-- wird erkannt -->
	<div>
		<a href="#">Link innerhalb 2</a><!-- wird nicht erkannt  !!! benötigt Rekursion durch ChildNodes !!! -->
	</div>
<div>
<a href="#">Link außerhalb</a>
<script type="text/javascript" language="javascript1.2">
// <![CDATA[
	test();
// ]]>
</script>
</body>
</html>

Stephan
 
  • Gefällt mir
Reaktionen: moses_78
b.legt210 schrieb:
Hallo moses,

die funktion links steht offensichtlich nur dem Objekt document zur Verfügung. Ich hab dir anbei mal einen Weg skizziert, wie du das evtl. angehen könntest...
Ich habe das Script noch nicht ausprobiert, trotzdem tausend Dank für diesen
Lösungsansatz :)

Ich hatte schon die Idee, mit nextnode, childnode, etc. den kompletten DOM-
Tree abzugrasen, habe das dann aber verworfen, weil es mir dann doch zu
kompliziert schien, aber hiermit habe ich eine Grundlage *freu*.

Gruß Mathias
 
Zurück
Oben Unten