Hallo Struppi,
Soweit ich weiß benutzt JS Referenzen bei Objekten, d.h. wenn du die Objekte in eine eigenes Array kopierst, werden keine Kopien angelegt, sondern nur die Referenz auf das Objekt. Insofern wäre das durchaus nicht unpraktisch, wenn du unbedingt es so machen willst.
Habe selbst mal experimentiert, weil ich neugierig war, ob man über diese Kopie denn dann überhaupt auch noch Zugriff auf das eigentliche, ursprüngliche Objekt hat. Das verblüfft mich jetzt zwar, aber es ist wohl so:
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
<title>concatObjects</title>
<meta name="author" content="Gernot Back">
<meta name="generator" content="Ulli Meybohms HTML EDITOR">
<script type="text/javascript">
[code lang=javascript]
function init () {
alleUllis = new Array();
alleOllis = document.getElementsByTagName('OL')[0].getElementsByTagName('LI');
for (i=0; i<alleOllis.length ; i++ ) {
alert(alleOllis[i].innerHTML);
}
alleOllis = new Array();
for (i=0; i<document.getElementsByTagName('UL')[0].getElementsByTagName('LI').length ; i++ ) {
alleUllis[i]=document.getElementsByTagName('UL')[0].getElementsByTagName('LI')[i];
}
for (i=0; i<document.getElementsByTagName('OL')[0].getElementsByTagName('LI').length ; i++ ) {
alleOllis[i]=document.getElementsByTagName('OL')[0].getElementsByTagName('LI')[i];
}
alert(alleUllis.length + '\n' + alleOllis.length)
alleLillis = alleUllis.concat(alleOllis);
alert(alleLillis);
for (i=0; i<alleLillis.length ; i++ ) {
alert(alleLillis[i].innerHTML);
alleLillis[i].innerHTML="bla";
}
}
window.onload=init;
</script>
</head>
<body>
<ul>
<li>a</li>
<li>b</li>
<li>c</li>
<li>d</li>
</ul>
<ol start="1" type="1">
<li>eins</li>
<li>zwei</li>
<li>drei</li>
<li>vier</li>
</ol>
</body>
</html>
[/code]
Gruß Gernot