Achtung!
Das funktioniert nicht immer so, wie du es dir vorstellst, nämlich dann, wenn du beispielsweise Zeilenumbrüche einfügst, ändert sich der Index, da Zeilenumbrüche mitgezählt werden (außer in (manchen?) IE):
<div id="foo1"><img src="url1">text1</div>
<div id="foo2">
<img src="url1">
text1
</div>
<script type="text/javascript">
alert(document.getElementById('foo1').childNodes.length)
alert(document.getElementById('foo2').childNodes.length)
</script>
>
> Dann müßtest du die gewünschten Kinder auf andere Art ermitteln.
Und was wäre hier eine geeignete Methode? Kann man z.B. generell auf das 1.<img>-Child (unabhängig von Zeilenumbrüchen oder anderen childs davor) zugreifen?