PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : DOM: document.links und IE6-Ärger



BlueJay
04-02-2007, 20:36
Hallo Leute,

da habe ich eine Seite, die erstmal dynamisch eine Linkliste aufbaut und dann bestimmte, durch AJAX angelieferte Daten dort einfüllen soll.

Läuft prima auf der Linux-Seite (Mozilla, Firefox, Konqueror), hustet aber ganz fürchterlich mit IE6, SP1, Win2000.

Beispieltext:

Aufbau der Liste:

function mach_topliste(num_tops)
{ var i,t='<ol>';
for (i=0; i<num_tops; i++)
t=t+'<li><a name="ahit'+i+'" href="starter.php" target="_blank"><span id="at'+i+'">Titel<\/span><\/a><\/li>';
t=t+'<\/ol>';
return t;
}


Einfügen der neuen Teile:



function zeige_topliste(my_text)
{ var i,j,t1,t2,my_obj;
var rec=new Array();
rec=my_text.split('*');
for (i=0; i<rec.length-1; i++)
{ feld=rec[i].split(',',3);
t1='starter.php?id='+feld[0]; t2=feld[1]+' ('+feld[2]+'%)';
my_obj=document.links['ahit'+i];
my_obj.href=t1;
document.getElementById('at'+i).firstChild.nodeVal ue=t2;
}
document.getElementById('summe').firstChild.nodeVa lue='gesamt: '+rec[rec.length-1]+' Zocks';
}


Der IE6 stolpert über die benannten anchors.
Bisher versucht:
1. statt document.links document.anchors zu nehmen
2. den Namen vorher zusammenzusetzen und das Ganze mit document.links[aname] anzusprechen
3. Konstrukt mit document.getElementByName
4. Konstrukt mit document.getElementById

5. document.links[laufendenummer] zu verwenden

Ging alles mehr (link) oder weniger (anchor) prima mit den Geckos und Konqueror, gab volle Bauchlandung beim IE, der das Objekt nicht fand.

Nur die letzte Methode mit der Laufzahl des Links hatte Erfolg. Aber das ist ja Quatsch mit Soße, ich kann doch nicht immer die Links abzählen!

Jemand 'ne bessere Idee?

so long,
BlueJay