Sponsored Links |
|
||||
Merkwürdigerweise macht der IE es mit outerHTML (Logik steh' mir bei).
Allerdings ignoriert er das CSS, JS-Funktionsaufrufe werden ausgeführt. Jetzt wird mir klar warum das Teil "Fenster Entdecker" heißt |
Sponsored Links |
|
||||
Hallo Scheppertreiber,
innerHTML ist nicht DOM Standard und hat gewisse Tücken Zum Beispiel treten im IE Probleme mit table.innerHTML auf, da die Eigenschaften der Elemente TABLE, TFOOT, THEAD und TR schreibgeschützt sind. |
|
||||
Servus,
das habe ich auch gemerkt *grrrr*. Warum muß dieser IE immer wieder ... Ich habe es jetzt nach längerer Recherche so hinbekommen: Code:
function SetElementContent( tag, content) { if ( document.all) { document.getElementById("avawrp").innerHTML = ''; var ptr = document.getElementById("avawrp"); var myp = document.createElement( "span"); var chi = ptr.appendChild( myp); chi.innerHTML = content; } else { // der gute liebe nette Browser .... document.getElementById(tag).innerHTML = content; } } |
|
||||
Irgendwie ist das Problem nicht klar.
Du musst im IE nur etwas mehr aufpassen, dass du mit innerHTML einen gültigen Code erzeugst und dass du Tabellen nicht einfach so verändern kannst, es ist allerdings in deinen Beispielen nirgendwo eine Tabelle zu entdecken und ein p-Element kann auch der IE erzeugen und einhängen per innerHTML. Dein workaround erzeugt ungültigen Code (ein p in einem span ist ungültig), was den Browser zwar nichts ausmacht, aber ob das so bleibt und ob es andere unerwünschte Effekte gibt läßt sich natürlich nicht sagen. |
|
||||
Ich weiß, daß das Pfusch ist. Mir ist das Problem auch nicht klar sonst wäre es gelöst *grrr*
Danke für die Tips. Sobald ich ein p einklinke tut sich nichts mehr. Mit Span geht das in IE 6+7. Frag mich nicht warum |
|
||||
Ich bekomme das per HTTP-Request und lagere das dann an seinen Platz ein.
Ich gehe nachher nochmalö drüber. Irgendwo muß noch ein Fehler stecken. Der Request ist Reaktion auf einen Klick. |
|
|||
Es ist allerdings dabei, standardisiert zu werden - und wird auch jetzt bereits von jedem DOM-Browser unterstützt.
Tücken hat es IMHO keine, zumindest wenn man die Doku des Erfinders bemüht. Denn ... Zitat:
__________________
Gruß, Cybaer |
Sponsored Links |
|
|||
Ohne IE gäbe es gar kein innerHTML!
Zitat:
Wenn man IE vom Rest unterscheiden will, kann man Conditional Compilation bemühen. Aber wozu? Alle DOM-Browser verstehen innerHTML, und wenn man mit DOM-Methoden arbeiten muß, weil man innerHTML entgegen der Doku einsetzen möchte: Der IE versteht ab 5.x inkl. auch das. Und den IE 4 berücksichtigst Du doch wohl nicht mehr, oder? Die anderen Uralt-Browser läßt Du ja auch ohne Abfrage ins Messer laufen ... Und was das konkrete Problem angeht: P ist ein Blockelement. Und als solches darf es nicht in einem Inline-Element stehen. Punkt. Der Code ist einfach falsch (Und anders als DIV, darf P selbst sogar ebenfalls kein Blockelement enthalten.) Was ginge: Blockelement in ein Blockelement schreiben (also: DIV), und das äußere dann via CSS als Inlineelement darstellen (display:inline)!
__________________
Gruß, Cybaer |
Sponsored Links |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
innerHTML | Rico | Javascript & Ajax | 10 | 23.09.2010 14:30 |
Über Methode mit innerHTML Div verändern (funktioniert nicht) | 1chris | CSS | 6 | 28.03.2010 16:09 |
Über Methode mit innerHTML Div verändern (funktioniert nicht) | 1chris | Javascript & Ajax | 2 | 26.03.2010 21:59 |
mit innerHTML auf <head> Tag zugreifen. IE Problem. | naitsab | Javascript & Ajax | 4 | 22.06.2009 19:40 |
innerHTML Änderung, DOM | Kurtk | Javascript & Ajax | 7 | 11.11.2007 21:26 |