Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI...

getElementById im IE

Diskussion: getElementById im IE im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Hi, wenn ich in meinem Script mittels getElementById() ein mit einer _eindeutigen_ id versehenes Element auswählen will, dann gibt ...

Antwort
Alt 26.02.08, 14:59   #1 (permalink)
Member of Honour
 
Registriert seit: 03.10.01
blueflash Leistung: Facit NTK
Likes: 1
Standard getElementById im IE

Anzeige

Hi,

wenn ich in meinem Script mittels getElementById() ein mit einer _eindeutigen_ id versehenes Element auswählen will, dann gibt der IE nur null zurück, während es im FF einwandfrei funktioniert. Ich habe weder names vergeben, noch gleichnamige Variablen im Script gesetzt. Was macht der IE da wieder anders?

mfg

blueflash ist offline   Mit Zitat antworten
Alt 26.02.08, 17:29   #2 (permalink)
Administrator
 
Benutzerbild von Mackz
 
Registriert seit: 02.10.01
Mackz Leistung: Pentium IMackz Leistung: Pentium I
Likes: 30
Standard

Normal gibts soweit ich beim Ansprechen mit getElementById() beim IE keine Unterschiede.
Ich weiß ja nicht was du machst, aber der Beispielcode funktioniert im IE6/IE7/FF/Opera ohne Probleme.

Code:
<span id="test">bla</span>
<script>
document.getElementById("test").style.backgroundColor = "#ff0000";
alert(document.getElementById("test").innerHTML);
</script>
Evtl. postest du mal den Codeabschnitt.
__________________
RL sux big time... auch 2012!

Deleting pr0n is like killing your best friend

[HaBo] bei Facebook - Werde Fan
Mackz ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 26.02.08, 21:26   #3 (permalink)
Member of Honour
Themenstarter
 
Registriert seit: 03.10.01
blueflash Leistung: Facit NTK
Likes: 1
Standard

Das ganze ist eine slideshow.
Folgendermaßen sind divs definiert:

Code:
<div id="frame">
        <div id="leftdiv">
                <a href="Joomla"><img src="test1.jpg" id="leftimg"/></a>
        </div>
        <div id="centerdiv">
                <a href="Joomla"><img src="test2.jpg" id="centerimg"/></a>
        </div>
        <div id="rightdiv">
                <a href="Joomla"><img src="test3.jpg" id="rightimg"/></a>
        </div>
</div>
im script gibt aber der Aufruf in

Code:
window.setTimeout(move,tick,document.getElementById('leftdiv'),0);
Nur null als Objekt zurück. Im FF hauts prima hin.

Wer den ganzen Code sehen möchte:
http://nooners.de/indexv.html
blueflash ist offline   Mit Zitat antworten
Alt 27.02.08, 00:15   #4 (permalink)
 
Registriert seit: 17.10.06
:::Lük::: Leistung: Facit NTK
:::Lük::: eine Nachricht über ICQ schicken
Likes: 0
Standard

Evtl. ist das DOM-Element mit der Id leftdiv zum Zeitpunkt des Aufrufes von document.getElementById("leftdiv") noch gar nicht verfügbar.

Dieses Problem kannst du lösen, indem du den Code erst beim vollständigen Laden der Seite agieren läst. Also in etwas so:

Code:
window.onload = funtion () {
 //Code
 //..
}
:::Lük::: ist offline   Mit Zitat antworten
Alt 27.02.08, 14:00   #5 (permalink)
Administrator
 
Benutzerbild von Mackz
 
Registriert seit: 02.10.01
Mackz Leistung: Pentium IMackz Leistung: Pentium I
Likes: 30
Standard

@ blueflash:
Hast du da gerade dran gearbeitet?
Ich hatte mir das gerade mal näher angeguckt und hatte da ein paar JS - Fehler (Opera und IE), wollte gerade posten, aber jetzt geht es sowohl im IE6 als auch in Opera. Nur mein FF hängt sich immer auf , daher kann ich dir da leider nicht die Ausgabe der Fehlerkonsole pasten.
__________________
RL sux big time... auch 2012!

Deleting pr0n is like killing your best friend

[HaBo] bei Facebook - Werde Fan
Mackz ist offline   Mit Zitat antworten
Alt 27.02.08, 15:51   #6 (permalink)
 
Registriert seit: 17.02.06
Harry Boeck Leistung: Facit NTK
Likes: 0
Standard

nach meiner Erfahrung unterstützt der IE nicht die Form von "setTimeout", bei der man einen Funktionsnamen und Parameter übergeben kann, sondern nur die Form, wo man einen String übergibt, in dem der auszuführende Javascriptcode im Klartext steht...

Die Referenz: http://developer.mozilla.org/en/docs...dow.setTimeout

Deine Benutzung:
Code:
timeoutID = window.setTimeout(func, delay[, param1, param2, ...]);
IE's Unterstützung:
Code:
timeoutID = window.setTimeout(code, delay);
Harry Boeck ist offline   Mit Zitat antworten
Alt 27.02.08, 15:53   #7 (permalink)
Member of Honour
Themenstarter
 
Registriert seit: 03.10.01
blueflash Leistung: Facit NTK
Likes: 1
Standard

@Mackz: Ich habe daran gearbeitet. Es läuft jetzt unter dem IE. Der FF hängt sich auf, weil er das dritte xmlHttp Request nicht absetzt - sehr seltsam.

@Harry Boeck:
Das wars. Ich habs gelöst, in dem ich "higher order strings" verwende *grusel*
blueflash ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » (Web-) Design und webbasierte Sprachen » getElementById im IE
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Unterschied zwischen getElementById und getElementByName[gelöst] sw33tlull4by (Web-) Design und webbasierte Sprachen 2 14.08.09 17:55
document.getElementById??? Lemon (Web-) Design und webbasierte Sprachen 4 13.12.07 21:00


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61