hallo, ich bins leider nochmal
ich habe gerade rumgeteset, aber es ist auch mit for schleifen nichts gescheites rausgekommen.
Ich möchte einer anzahl von elementen einen eventhandler zuweisen mit anonymen funktionen. nur leider, gibt er mir immer die höchste Variable i zurück, also in dem Falle 2. Ich möchte aber, dass jedes element "eindeutig" ist. wie kann ich das realisieren?
<!DOCTYPE html>
<html>
<head>
<title>Testscript</title>
[code lang=javascript]<script type="text/javascript">
function test() {
var Nodedf = document.getElementById('op').getElementsByTagName('dt');
var y = 0;
for(i = 0; i < Nodedf.length; i++)
{
Nodedf[i].addEventListener('click', function() { window.alert('Test'+ i-1); }, false);
y++;
}
}
</script>
</head>
<body>
<div id='op'><dl><dt>Dedlfix:</dt><dd>Es war einmal ein dedlfix...</dd><dt>molily:</dt><dd>Machst du überhaupt was richtig James?</dd><dt>James</dt><dd>Ich hab es wieder nicht richtig gemacht...</dd></dl></div>
<a href='javascript: test();'>TESTEN</a>
</body>
</html>[/code]
Die Stelle window.alert('Test'+ i-1);
möchte ich nachher durch window.alert(Nodedf[i-1].firstChild.data);
ersetzen und dann noch weiter ausbauen mit paar extras. Aber das geht nicht, weil er mir ausgibt "James", egal ob ich den dedlfix oder molily sprechen anstupsen möchte. James fühlt sich ständig angesprochen.
Auf Testen klicken aktiviert das Script.
danke ...