Firefox vs. IE - Oder: Wie debuggen im IE?
Ralf Jahr
- javascript
0 hofi0 Gunnar Bittersmann0 Struppi0 Ralf Jahr
Hallo,
zur Zeit darf ich ein paar Javascript-Funktionen einbauen. Gewünsch ist, dass einige Tabellenzellen unsichtbar oder nur noch sehr klein dargestellt werden sollen. Dazu habe ich mir eine Funktion definiert und auf folgender Seite verwendet:
http://www.jr-data.de/debug.htm
Ich habe die Seite auf das Wesentliche reduziert.
Mein Problem ist nun, dass zwar im Firefox alles funktioniert, ohne Fehler. Jedoch gibt es im IE keinerlei Funktion; ein Klick auf den Link oben in der Mitte hat keinerlei Auswirkungen.
Weiß jemand, woran das liegen könnte oder alternativ, wie ich das Problem umgehen kann?
Vielen Dank!
Ralf
Tja, da will der IE mal wieder nicht so recht, er hat halt so seine Probleme.
Folgende Variante funktioniert:
function showElements(name)
{
var elements = document.getElementsByTagName('p');
for (var i=0;i<elements.length;i++)
{
if (elements[i].className == name)
{
if(elements[i].style.display == "none")
elements[i].style.display = "block";
else
elements[i].style.display = "none";
}
}
}
Das geht jetzt übrigens ebenfalls in Opera (vorher nicht). ;-)
ciao,
hofi
auf folgender Seite verwendet:
http://www.jr-data.de/debug.htm
Ralf,
Das war zwar oben drüber schon mal verlinkt, aber dort schaut man nicht unbedingt hin. Besser im Text auch verlinken. (So geht’s.)
Weiß jemand, woran das liegen könnte
Du hast die Erklärung zu http://de.selfhtml.org/javascript/objekte/document.htm#get_elements_by_name@title=getElementsByName() bis zu dem gelesen, was unter „Beachten Sie:“ steht? Und bist auch dem Link http://de.selfhtml.org/javascript/objekte/htmlelemente.htm@title=HTML-Elementobjekte gefolgt und hast dort das unter „Zugriff über das name-Attribut (getElementsByName):“ Gesagte gelesen?
Live long and prosper,
Gunnar
PS: <a href="javascript:showElements('blockedRoom')">
Ist "javascript
" ein Protokoll? Ist "javascript:showElements('blockedRoom')
" ein gültiger URL?
Rufe die Funktion über Eventhandler (onclick) auf.
Besser wäre es auch, das nicht als Link, sondern als Button zu gestalten; daran sind Nutzer gewöhnt:
Hi,
Besser wäre es auch, das nicht als Link, sondern als Button zu gestalten; daran sind Nutzer gewöhnt:
- Buttons führen eine Aktion aus (auf der Seite)
Ah, wenn ich jetzt nach dem Schreiben dieses Texts auf den Button "Nachricht absenden" klicke, wird eine Aktion auf dieser Seite ausgeführt?!?
Und ich dachte, das führt mich zu einer anderen Webseite (nämlich zu der mit dem geposteten Text bzw. der Fehlerseite)
- Links führen zu einer anderen Webseite.
<a href="#top">zum Seitenanfang</a>
cu,
Andreas
Hi MudGuard,
- Buttons führen eine Aktion aus (auf der Seite)
Ah, wenn ich jetzt nach dem Schreiben dieses Texts auf den Button "Nachricht absenden" klicke, wird eine Aktion auf dieser Seite ausgeführt?!?
Deshalb waren die Klammern. Mitunter sagen ein paar Worte mehr als Klammern … ;-)
Und eine Rückmeldung für den Nutzer, dass die Aktion ausgeführt wurde, kann natürlich auch nie schaden.
- Links führen zu einer anderen Webseite.
<a href="#top">zum Seitenanfang</a>
Ich gehe meist sparsam mit dem Wort „meist“ um. Meist zu sparsam.
Live long and prosper,
Gunnar
Mein Problem ist nun, dass zwar im Firefox alles funktioniert, ohne Fehler. Jedoch gibt es im IE keinerlei Funktion; ein Klick auf den Link oben in der Mitte hat keinerlei Auswirkungen.
Das Problem ist, das Element <p> hat kein Name attribut, wie du sicher auch schon festgestellt hast, als du die Seite validiert hast http://validator.w3.org/check?verbose=1&uri=http%3A//www.jr-data.de/debug.htm
und der IE nimmt's hier genauer als FF.
Weiß jemand, woran das liegen könnte oder alternativ, wie ich das Problem umgehen kann?
Entweder mit IDs arbeiten oder eben mit TagName.
Struppi.
Hallo!
Ich dedanke mich herlziche für alle Antworten, die ich bekommen habe. Es stimmt, ich hätte genauer lesen sollen, was ich verwende. Nichtsdestotrotz werde ich JavaScript wohl nie so wirklich toll finden - eben weil Code nicht entweder richtig oder falsch ist.
Nun habe ich mir eine CSS-Klasse konstruiert und die allen auszublendenden Elementen zugewiesen. Das klappt ganz gut, ich kann ohne Probleme alle Elemente finden, die diese Klasse implementieren.
Nochmals herzlichen Dank und ein frohes Fest,
Ralf