Ich versuche document.getElementById(). InnerHTML in einem JavaScript zu verwenden, um Informationen in einer Webseite zu ändern. Bei FireFox funktioniert dies wie in der W3C-Dokumentation beschrieben, die gleiche Methode gibt jedoch 'Unbekannter Fehler' in IE zurück. Das JavaScript sieht wie folgt aus:document.getElementById(). InnerHTML schlägt mit 'Unbekannter Fehler' in IE
function Change_Info (ID, ROW, VALUE)
{
if (document.getElementById)
{
var ntext = "<td width=4\% bgcolor=#FFFFFF> </td><td width=92\% bgcolor=#FFFFFF colspan=2><font face=Arial size=2 color=#5578C4>" + VALUE + "</font></td><td width=4\% bgcolor=#FFFFFF><center> </center></td>";
document.getElementById(ID + "-" + ROW).innerHTML = ntext;
return false;
}
}
Das Skript wird von einem Mouseover-Ereignis wie folgt aufgerufen:
onmouseover='Change_Info("thetag","1","Some Info");
Das Skript würde ID mit einem kombinieren - und dann ROW, die in diesem Beispiel wäre , thetag-1. Das genaue Tag existiert im HTML-Dokument. Wenn getElementById mit dem hartcodierten Tag-Namen verwendet wird, wird derselbe Fehler angezeigt, und in dieser Situation wird die variable Methode bevorzugt.
Um Fragen bezüglich warum vollständige HTML-Tabelle Informationen in ntext sind, aus welchem Grunde verschachtelten IDs nicht auf sowohl FireFox und IE, obwohl die W3C-Spezifikation besagt, sollte es funktionieren (natürlich haben beiden Browser nicht vollständig die W3C-Spezifikationen implimented als persceribed). Wenn jemand weiß, wie man auf geschachtelte IDs zugreifen und diese ändern kann, das funktioniert sowohl in FireFox als auch in IE, würde ich es gerne wissen.
Darüber hinaus bekomme ich nur noch diese 'Unbekannter Fehler' im IE bei der Verwendung von innerHTML zu ändern Sie die Informationen. Lesen funktioniert ohne Fehler.
Kann jemand darauf hinweisen, wo mein Scripting-Fehler ist, so dass ich Text "Nachrichten" bei Mouseover-Ereignissen austauschen kann.
Haben Sie jQuery versucht mit, dies zu tun Es ist zu abstrakt soll die Browser-Inkompatibilitäten für Sie weg –
Ihre HTML. Markup ist ziemlich veraltet, Sie verwenden abgeschriebene Tags und Markup. – epascarello