Trtix: innerHTML fehler im IE

Hallo,

habe eine kleine Javascript Funktion, die im IE9 einfach nicht funktionieren will und ich frage mich warum...

HTML:

  
<h2>Sprachen:</h2><span id="iconTextSprachen" class="iconText"></span><br />  
<img src="pics/icons/deutsch.png" alt="Deutsch Logo" name="Deutsch" class="kicon" onmouseover="itext(this.name, 'Sprachen')" onmouseout="itext(this.name, 'Sprachen')" />  
<img src="pics/icons/englisch.png" alt="Englisch Logo" name="Englisch" class="kicon" onmouseover="itext(this.name, 'Sprachen')" onmouseout="itext(this.name, 'Sprachen')" />  
<br />  

Javascript:

  
function itext(text, field)  
{  
	if (document.getElementById("iconText" + field).innerHTML == "")  
	{  
		document.getElementById("iconText" + field).innerHTML = text;  
	}  
	else  
	{  
		document.getElementById("iconText" + field).innerHTML = "";  
	}  
}  

Beim Hovern auf ein Symbol soll der dazu gehörige Text per innerHTML im <span> Tag erscheinen. Im Firefox funktioniert das, mittlerweile auch im IE6, aber im IE9 tut sich gar nichts, daher wollte ich mal fragen, ob da irgendein Fehler ist oder vielleicht der IETester nen Problem hat?

Vielen Dank schonmal

  1. @@Trtix:

    nuqneH

    Beim Hovern auf ein Symbol soll der dazu gehörige Text per innerHTML im <span> Tag erscheinen.

    Warum willst du ein Darstellungsproblem mit JavaScript lösen anstatt mit CSS?

    Bspw. so: http://1ngo.de/web/infobox.html

    Qapla'

    --
    Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
    (Mark Twain)
    1. @@Trtix:

      nuqneH

      Beim Hovern auf ein Symbol soll der dazu gehörige Text per innerHTML im <span> Tag erscheinen.

      Warum willst du ein Darstellungsproblem mit JavaScript lösen anstatt mit CSS?

      Bspw. so: http://1ngo.de/web/infobox.html

      Qapla'

      Hover Problem

      Hier wird die Maus über die England Flagge gefahren... ist das so sauber auch per CSS möglich? Weil dein Beispiellink sieht ja mit der Infobox etwas anders aus.

      1. @@Trtix:

        nuqneH

        Hover Problem

        Hier wird die Maus über die England Flagge gefahren...

        Nein, da ist keine Fahne Englands.

        Und selbst wenn, was hätte die mit der englischen Sprache zu tun? Nichts.

        Qapla'

        --
        Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
        (Mark Twain)
        1. @@Trtix:

          nuqneH

          Hover Problem

          Hier wird die Maus über die England Flagge gefahren...

          Nein, da ist keine Fahne Englands.

          Und selbst wenn, was hätte die mit der englischen Sprache zu tun? Nichts.

          Qapla'

          Ok danke, deinen Link gelesen. Werde ich nochmal überdenken...

          Aber weiter drunter ist das gleiche mit Programmlogos (wie Photoshop), wo der zugehörige Text "Adobe Photoshop" erscheinen soll.

          Also zurück zur Frage, ob mein Javascript korrekt ist (obwohl es im IE9 per IETester nicht funktioniert!), bzw. ob das auch mit CSS so sauber geht?

          Danke

          1. Hi,

            in etwa so:

            HTML:

            <ul>  
              <li data-lang="Deutsch">Deutsch</li>  
              <li data-lang="English">English</li>  
            </ul>
            

            CSS:

            ul {  
              position:relative;  
              padding-top:20px;  
            }  
            li {  
              text-indent:-999px;  
              display:inline-block;  
              width:[[gewünschte Breite]];  
              height:[[gewünschte Höhe]];  
              background:url(pfad/zum/icon/sprite) no-repeat;  
            }  
            li[data-lang=Deutsch] {  
              background-position:0 center;  
            }  
            li[data-lang=English] {  
              background-position:-[[Höhe des Icons]] center;  
            }  
            li:hover::before {  
              content:"Sprache: "attr(data-lang);  
              position:absolute;  
              top:0;  
              left:0;  
            }
            

            ~dave

            1. <ul>

              <li data-lang="Deutsch">Deutsch</li>
                <li data-lang="English">English</li>
              </ul>

                
              Was spinnst du denn mit data herum, wenn es doch das lang-Attribut gibt? :)
              
              1. Hi,

                <ul>

                <li data-lang="Deutsch">Deutsch</li>
                  <li data-lang="English">English</li>
                </ul>

                
                >   
                > Was spinnst du denn mit data herum, wenn es doch das lang-Attribut gibt? :)  
                  
                Ich dachte in das lang-Attribute sollten nur entsprechende Kürzel? ("de", "en"...)  
                Lag ich da falsch?  
                  
                ~dave
                
                1. Ich dachte in das lang-Attribute sollten nur entsprechende Kürzel? ("de", "en"...)
                  Lag ich da falsch?

                  Nein, das nicht - das gehört natürlich auch geändert - aber für sowas ist das title-Attribut da. Da ich davon ausgehen, dass über diese Dinger auch noch die Sprache gewechselt werden kann, ist sicher ein a-Element in jedem dieser li-Elemente nicht verkehrt.

                  <ul>  
                    <li><a href="/en/foo" lang="en" hreflang="en" title="Switch to english Version">English</li>  
                    <li><a href="/de/foo" lang="de" hreflang="de" title="Zur deutschen Version wechseln">Deutsch</li>  
                  </ul>
                  
                  1. :P

                    1. :P

                      </a></a> :)

                  2. @@suit:

                    nuqneH

                    Nein, das nicht - das gehört natürlich auch geändert - aber für sowas ist das title-Attribut da.

                    ?? Ich finde es ziemlich unsinnig, in einem Tooltip dieselbe Information nochmal zu bieten, die schon im Linktitel (welcher an sich aussagekräftig genug sein sollte) unterzubringen.

                    Ganz blöd:
                    <a href="/en/foo" lang="en" hreflang="en" title="English">English</a>

                    Aber auch
                    <a href="/en/foo" lang="en" hreflang="en" title="Switch to English version">English</a>
                    ist nicht viel besser. (BTW, „English“ im Englischen immer groß, „version“ klein.)

                    Sinnvoller dürfte es sein, im Tooltip die Erklärung des Links in der Seitensprache unterzubringen, auf einer deutschsprachigen Seite also:
                    <a href="/en/foo" lang="en" hreflang="en" title="Englisch">English</a>

                    Hm, „Englisch“/„English“ ist nicht das beste Beispiel, nehmen wir dieses:
                    <a href="/en/foo" lang="tlh" hreflang="tlh" title="Klingonisch">tlhIngan Hol</a>

                    So wie es auch bei den Artiklen auf der W3C-i18n-Website gemacht wird, bspw. bei diesem.

                    Qapla'

                    --
                    Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
                    (Mark Twain)
              2. Mahlzeit suit,

                <ul>

                <li data-lang="Deutsch">Deutsch</li>
                  <li data-lang="English">English</li>
                </ul>

                
                >   
                > Was spinnst du denn mit data herum, wenn es doch das lang-Attribut gibt? :)  
                  
                Das Universalattribut "lang" <http://de.selfhtml.org/html/referenz/attribute.htm#universalattribute@title="gibt die im Element verwendete Landessprache (nach RFC 1766) an">.  
                  
                Also wäre es falsch, dieses zu benutzen, da die verwendete Landessprache in beiden Fällen deutsch ist.  
                  
                Noch Fragen, Kienzle?  
                  
                  
                MfG,  
                EKKi  
                
                -- 
                sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
                
                1. Also wäre es falsch, dieses zu benutzen, da die verwendete Landessprache in beiden Fällen deutsch ist.

                  Aha - und "English" ist also das deutschsprachige Wort für die englische Sprache?

                  Noch Fragen, Kienzle?

                  Hauser, in die Attribute soll "de" und "en" - der Elementinhalt passt ohnehin schon.

                  1. Mahlzeit suit,

                    Also wäre es falsch, dieses zu benutzen, da die verwendete Landessprache in beiden Fällen deutsch ist.

                    Aha - und "English" ist also das deutschsprachige Wort für die englische Sprache?

                    OK, ich nehme alles zurück und behaupte das Gegentum.

                    Darüber hinaus sacke ich mich ein, bestäube mein Haupt mit Asche und gehe schlafen ... der heutige Tag ist einfach nur von Anfang an überflüssig und nervig. Man hätte ihn auslassen können.

                    MfG,
                    EKKi

                    --
                    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|