Peter Pan: IE 8 und removeAttribute('title')

Hi!

Hat jemand eine Idee, warum der IE 8 sich weigert, die Methode removeAttribute('title'); auszuführen?

Die Kollegen Fx, Safari, Opera, Chrome haben hiermit keine Schwierigkeiten.

off:PP

--
"You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
  1. Hallo Peter,

    Hat jemand eine Idee, warum der IE 8 sich weigert, die Methode removeAttribute('title'); auszuführen?

    War es nicht so, dass jede Version des Internet Explorers eine eigene Meinung dazu hatte, wie diese Methode arbeiten sollte?

    Ich persönlich würde in deinem Fall einfach den Inhalt des entsprechenden Attributes mit einem leeren String ersetzen:

    element.setAttribute('title', '');

    respektive

    element.title = "";

    Mit freundlichen Grüßen,
    Steffen Bruchmann

    1. Hi Steffen!

      Vielen Dank für Deine Antwort!

      Hat jemand eine Idee, warum der IE 8 sich weigert, die Methode removeAttribute('title'); auszuführen?

      War es nicht so, dass jede Version des Internet Explorers eine eigene Meinung dazu hatte, wie diese Methode arbeiten sollte?

      Bestimmt ist das so, aber ich habe hier nur noch Windosen mit IE 8 und normalerweise interessiert mich dieses Browser-Surrogat nicht, aber jetzt muß ich etwas fürs Web produzieren und da stört es schon arg, wenn ausgerechnet der IE (8) nicht macht, was ich gern hätte :(

      Ich persönlich würde in deinem Fall einfach den Inhalt des entsprechenden Attributes mit einem leeren String ersetzen:

      element.setAttribute('title', '');

      respektive

      element.title = "";

      Ja, diese Idee hatte ich auch, aber: das title-Attribut wird nicht gelöscht und auch nicht überschrieben...

      off:PP

      --
      "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
      1. Hallo Peter,

        Ich persönlich würde in deinem Fall einfach den Inhalt des entsprechenden Attributes mit einem leeren String ersetzen:
        element.setAttribute('title', '');
        respektive
        element.title = "";

        Ja, diese Idee hatte ich auch, aber: das title-Attribut wird nicht gelöscht und auch nicht überschrieben...

        Im Moment kann ich diesen Fall leider nicht reproduzieren, da ich hier auf dieser Windows XP SP3 Maschine nur einen IE 6 installiert habe. Wird dir ein inhaltsleerer gelber Kasten angezeigt oder besitzt der IE 8 tatsächlich so etwas wie eine Konsole?

        Alternativ könnte man versuchen das Title-Attribut mit null zu belegen.

        Mit freundlichen Grüßen,
        Steffen Bruchmann

        1. Hi Steffen!

          Im Moment kann ich diesen Fall leider nicht reproduzieren, da ich hier auf dieser Windows XP SP3 Maschine nur einen IE 6 installiert habe. Wird dir ein inhaltsleerer gelber Kasten angezeigt oder besitzt der IE 8 tatsächlich so etwas wie eine Konsole?

          Das gelbe Tooltip wird mit dem Text angezeigt, welcher im HTML-Source als Inhalt des Attributes title hinterlegt ist...

          Alternativ könnte man versuchen das Title-Attribut mit null zu belegen.

          Bringt es leider auch nicht - danke für Deine Bemühungen!

          off:PP

          --
          "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
          1. Hallo Peter,

            Alternativ könnte man versuchen das Title-Attribut mit null zu belegen.

            Bringt es leider auch nicht - danke für Deine Bemühungen!

            Wenn es nicht zu umständlich ist, würde ich einfach ein neues Element ohne Title-Attribut dynamisch generieren und es durch das alte ersetzen. Andernfalls müssen die Benutzer eines IE8 damit leben, das Web nicht richtig genießen zu können. ;-)

            Mit freundlichen Grüßen,
            Steffen Bruchmann

            1. Hi Steffen!

              Wenn es nicht zu umständlich ist, würde ich einfach ein neues Element ohne Title-Attribut dynamisch generieren und es durch das alte ersetzen. Andernfalls müssen die Benutzer eines IE8 damit leben, das Web nicht richtig genießen zu können. ;-)

              Ja, letzteres denke ich mir auch gerade - dann sehen die Menschen mit IE 8 und aktiviertem Javascript eben das neue Tooltip und das 'normale' - ich ärgere mich nur, dass ich erst mit dem IE getestet habe, _nachdem_ ich den JS-Teil geschrieben habe...

              Vielen Dank!

              off:PP

              --
              "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
      2. [latex]Mae  govannen![/latex]

        element.title = "";

        Ja, diese Idee hatte ich auch, aber: das title-Attribut wird nicht gelöscht und auch nicht überschrieben...

        Hmm in meinem IE8 scheint(!) removeAttribute zu funktionieren.
        Aber setze mal den Wert auf null (ggf. sowohl per setAttribute wie auch per element.title), dann sollte es eigentlich funktionieren, auch in älteren IEs

        Cü,

        Kai

        --
        Deutsches Liedgut international:
        In early rope to mountain we pull
        Foren-Stylesheet Site Selfzeug JS-Lookup
        SelfCode: sh:( fo:| ch:? rl:( br:< n4:( ie:{ mo:| va:) js:| de:> zu:) fl:( ss:| ls:?
        1. Hi Kai345!

          element.title = "";

          Ja, diese Idee hatte ich auch, aber: das title-Attribut wird nicht gelöscht und auch nicht überschrieben...

          Hmm in meinem IE8 scheint(!) removeAttribute zu funktionieren.

          Mhm - ich habe es soben auch mal per Eventhandler inline - also als on*-Attribut im HTML-Element versucht: nüscht!

          Aber setze mal den Wert auf null (ggf. sowohl per setAttribute wie auch per element.title),

          Auch das brachte leider nix - ich werde morgen noch mal in Ruhe schauen - nun ist es Zeit für Familienleben zu zweit;)

          dann sollte es eigentlich funktionieren, auch in älteren IEs

          Ältere habe ich nicht hier - werde das Montag mal im Büro testen.

          Danke für Deine Hilfe!

          off:PP

          --
          "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
          1. [latex]Mae  govannen![/latex]

            Ja, diese Idee hatte ich auch, aber: das title-Attribut wird nicht gelöscht und auch nicht überschrieben...

            Hmm in meinem IE8 scheint(!) removeAttribute zu funktionieren.

            Mhm - ich habe es soben auch mal per Eventhandler inline - also als on*-Attribut im HTML-Element versucht: nüscht!

            Aber setze mal den Wert auf null (ggf. sowohl per setAttribute wie auch per element.title),

            Auch das brachte leider nix - ich werde morgen noch mal in Ruhe schauen - nun ist es Zeit für Familienleben zu zweit;)

            Pah, Fehler finden ist wichtiger ^^

            Sagen die IE8-Entwicklerwerkzeuge irgendwas dazu, d.h. die Konsole und auch die live-Ansicht des DOM?
            Ist die element-variable wirklich belegt, und auch mit dem richtigen Element?
            Warum sind die Dodos ausgestorben?

            Cü,

            Kai

            --
            Deutsches Liedgut international:
            In early rope to mountain we pull
            Foren-Stylesheet Site Selfzeug JS-Lookup
            SelfCode: sh:( fo:| ch:? rl:( br:< n4:( ie:{ mo:| va:) js:| de:> zu:) fl:( ss:| ls:?
            1. Hi!

              Auch das brachte leider nix - ich werde morgen noch mal in Ruhe schauen - nun ist es Zeit für Familienleben zu zweit;)

              Pah, Fehler finden ist wichtiger ^^

              Offensichtlich, hast Du recht;)

              Sagen die IE8-Entwicklerwerkzeuge irgendwas dazu, d.h. die Konsole und auch die live-Ansicht des DOM?

              Ja, klar: die title-Attribute sind dort auch sichtbar.

              Ist die element-variable wirklich belegt, und auch mit dem richtigen Element?

              Ja, das sind sie - ich sammle alle Elemente des Typs abbr mit document.getElementByTagName ein und kann diese auch manipulieren. In allen anderen UAs gibt es keine Probleme, aber im IE 8 kann ich leider das title-Attribut nicht entfernen oder überschreiben.

              Warum sind die Dodos ausgestorben?

              Der IE soll nicht fliegen, sondern ein Attribut löschen;)

              Nachtrag: belasse ich das Dokument für mehr als 3 (geschätzt) Minuten ohne Reload im IE angezeigt, sind die title-Attribute gelöscht - das zeigt mir auch die DOM-Ansicht. Das kann doch unmöglich so lange dauern, oder?

              off:PP

              --
              "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
              1. [latex]Mae  govannen![/latex]

                Auch das brachte leider nix - ich werde morgen noch mal in Ruhe schauen - nun ist es Zeit für Familienleben zu zweit;)

                Pah, Fehler finden ist wichtiger ^^

                Offensichtlich, hast Du recht;)

                Sowieso :)

                Sagen die IE8-Entwicklerwerkzeuge irgendwas dazu, d.h. die Konsole und auch die live-Ansicht des DOM?

                Ja, klar: die title-Attribute sind dort auch sichtbar.

                Ist die element-variable wirklich belegt, und auch mit dem richtigen Element?

                Ja, das sind sie - ich sammle alle Elemente des Typs abbr mit document.getElementByTagName ein und kann diese auch manipulieren. In allen anderen UAs gibt es keine Probleme, aber im IE 8 kann ich leider das title-Attribut nicht entfernen oder überschreiben.

                Ich schon. Ich habe mal folgendes bei mir eingebaut:

                <p>Dies <abbr>ist</abbr> ein <abbr title="hi">test</abbr></p>  
                  
                <script>
                
                  var a = document.getElementsByTagName('abbr');  
                  
                  function abc() {  
                    a[1].removeAttribute("title");  
                  }  
                  
                  window.setTimeout(abc, 10000);
                

                </script>

                und nach 10 Sekunden ist das title-Attribut weg.

                Cü,

                Kai

                --
                Deutsches Liedgut international:
                In early rope to mountain we pull
                Foren-Stylesheet Site Selfzeug JS-Lookup
                SelfCode: sh:( fo:| ch:? rl:( br:< n4:( ie:{ mo:| va:) js:| de:> zu:) fl:( ss:| ls:?
                1. Hi Kai345!

                  Danke - ich habe einmal genau dieses Beispiel getestet:

                  <p>Dies <abbr>ist</abbr> ein <abbr title="hi">test</abbr></p>

                  <script>

                  
                  > ~~~javascript
                  
                    var a = document.getElementsByTagName('abbr');  
                  
                  >   
                  >   function abc() {  
                  >     a[1].removeAttribute("title");  
                  >   }  
                  >   
                  >   window.setTimeout(abc, 10000);
                  
                  

                  </script>

                  und nach 10 Sekunden ist das title-Attribut weg.

                  Und bei mir braucht es mind. zwei Minuten - in den anderen UAs sind die title-Attribute 'sofort' gelöscht...

                  off:PP

                  --
                  "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
              2. 'ǝɯɐu$ ıɥ

                Der IE soll nicht fliegen [...]

                Doch, und zwar auf den Müll :-) Ich fände es sehr sympatisch wenn der IE den Dodo machen würde.
                By the way: Dodos konnten nicht fliegen.

                ssnɹƃ
                ʍopɐɥs

                --
                A)bort R)etry G)et a gun and kill it.
                1. Hi!

                  Zitiere bitte komplett;)

                  Warum sind die Dodos ausgestorben?

                  Der IE soll nicht fliegen [...]

                  Doch, und zwar auf den Müll :-) Ich fände es sehr sympatisch wenn der IE den Dodo machen würde.

                  Dann vermeidest Du dieses Missverständnis:

                  By the way: Dodos konnten nicht fliegen.

                  Das implizierte meine obige Aussage.

                  off:PP

                  --
                  "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
                2. Hallo,

                  Doch, und zwar auf den Müll :-) Ich fände es sehr sympatisch wenn der IE den Dodo machen würde.

                  warum? Konkurrenz belebt das Geschäft. Ein leistungsfähiger IE kann der Browserentwicklung nur gut tun. Leider wird IE6 vermutlich noch langsamer sterben als sein Vorgänger im Geiste, der unsägliche Netscape 4.x.

                  Freundliche Grüße

                  Vinzenz

                  PS: Ernährten sich Krähen von Dodos?

                  1. Leider wird IE6 vermutlich noch langsamer sterben als sein Vorgänger im Geiste, der unsägliche Netscape 4.x.

                    Nur mit einem Pflock durch das Herz oder indem man möglichst viel Knoblauch zwischen das HTML steckt.

                    mfg Beat

                    --
                    ><o(((°>           ><o(((°>
                       <°)))o><                     ><o(((°>o
                    Der Valigator leibt diese Fische
                    1. Hallo :)

                      Leider wird IE6 vermutlich noch langsamer sterben als sein Vorgänger im Geiste, der unsägliche Netscape 4.x.

                      Nur mit einem Pflock durch das Herz oder indem man möglichst viel Knoblauch zwischen das HTML steckt.

                      Das ist ja finsterstes Mittelalter.
                      Die Pfarrer machen das heute so:
                      Erst wird "er" getauft, dann konfirmiert.
                      Danach verschwindet "er" und kommt niemals wieder.

                      mfg
                      cygnus

                      --
                      Die Sache mit der Angel und dem  ><o(((°>  hat immer einen Haken ...
  2. Hi,

    Hat jemand eine Idee, warum der IE 8 sich weigert, die Methode removeAttribute('title'); auszuführen?

    Meiner weigert sich nicht, sowohl im IE8- als auch im Kompabilitätsmodus.
    Sowohl mit removeAttribute als auch mit removeAttributeNode kann ich das title-Attribut von P-Elementen entfernen. Kein Tooltip mehr, und auch im innerHTML taucht es nicht mehr auf.

    Hast du ein Beispiel, bei dem das Problem auftritt?

    MfG ChrisB

    --
    “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
    1. Hi ChrisB!

      Meiner weigert sich nicht, sowohl im IE8- als auch im Kompabilitätsmodus.
      Sowohl mit removeAttribute als auch mit removeAttributeNode kann ich das title-Attribut von P-Elementen entfernen. Kein Tooltip mehr, und auch im innerHTML taucht es nicht mehr auf.

      Hast du ein Beispiel, bei dem das Problem auftritt?

      Ich habe es mal maximal kastriert:

        
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  
      <html xmlns="http://www.w3.org/1999/xhtml">  
      <head>  
      	<title>Test</title>  
      </head>  
      <body>  
      <p>Self<abbr title="Hypertext Markup Language">HTML</abbr>-Test</p>  
      <script src="../script/blank.js" type="text/javascript"></script>  
      </body>  
      </html>  
      
      

      Die blank.js - Originalauschnitt:

        
      for (var i =0;i<document.getElementsByTagName( 'abbr' ).length;i++) {  
      		document.getElementsByTagName('abbr')[i].removeAttribute('title');  
      	}	  
      
      

      Auch hier ist der Effekt, dass es zwei bis drei Minuten dauert, bis das Attribut gelöscht wird, wie zuvor beschrieben.

      Danke!

      off:PP

      --
      "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
      1. Hi,

        Auch hier ist der Effekt, dass es zwei bis drei Minuten dauert, bis das Attribut gelöscht wird, wie zuvor beschrieben.

        Testest du das mit einem „richtigen“ IE 8, oder irgendeinem dieser Multi-IE-Testtools?

        MfG ChrisB

        --
        “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
      2. Hallo Peter,

        Auch hier ist der Effekt, dass es zwei bis drei Minuten dauert, bis das Attribut gelöscht wird, wie zuvor beschrieben.

        kann ich nicht nachvollziehen: IE 8 unter Window 7. Kein Tooltip - und zwar sofort.

        Freundliche Grüße

        Vinzenz

        1. Hi Vinzenz!

          Danke für die Antwort!

          Auch hier ist der Effekt, dass es zwei bis drei Minuten dauert, bis das Attribut gelöscht wird, wie zuvor beschrieben.

          kann ich nicht nachvollziehen: IE 8 unter Window 7. Kein Tooltip - und zwar sofort.

          Ja, das sagen die anderen auch;)

          Ich habe das jetzt noch einmal am Notebook meiner Frau getestet auch IE 8 unter Windows 7 - kein Problem: die Attribute sind sofort weg.

          Mein Rechner (XP SP3 und IE 8) bleibt träge - zwei bis drei Minuten dauert es - manchmal bis zu fünf. Bevor jetzt jemand fragt: nein es ist kein Pentium I oder so etwas, sondern ein halbwegs aktueller Toshiba-Satellite..

          off:PP

          --
          "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)