dey: mit getElement Line unter

Hallo,

ich habe zur Spamsicherheit meine Emailadressen mit Bildern für @ und . ausmaskiert.
Die Emailadressen sind nicht in <a> sondern in <span>.
Für JS-Nutzer habe ich, aus Komfortgünden die Adressen wieder in anklickbare Links umgewandelt.
Jetzt hätte ich gern, dass diese <span> auch wieder wie Links aussehen und eine Linie unter dem Text bekommen.
Mit
document.getElementsByName("eml")[i].style.text-decoration="underline"
und
document.getElementsByName("eml")[i].style.border-bottom="1px solid black"
bin ich gescheitert.

Het jemand einen Alternativvorschlag?

bydey

--
-- bydey ist die Signatur und Verabschiedung, nicht der Nick --
-- Navigate all your PHP web projects with  PHP Project Browser--
  1. Hello out there!

    Mit
    document.getElementsByName("eml")[i].style.text-decoration="underline"
    und
    document.getElementsByName("eml")[i].style.border-bottom="1px solid black"
    bin ich gescheitert.

    Du wolltest ja auch nicht die Differenz zwischen document.getElementsByName("eml")[i].style.text und decoration bzw. document.getElementsByName("eml")[i].style.border und bottom berechnen.

    Het jemand einen Alternativvorschlag?

    [ref:self811;javascript/objekte/style.htm@title=SELFHTML hat: CamelCase.

    See ya up the road,
    Gunnar

    --
    “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
    1. Hello out there!

      http://de.selfhtml.org/javascript/objekte/style.htm@title=SELFHTML hat: CamelCase.

      See ya up the road,
      Gunnar

      PS: So wird meine Vision nie wahr, dass Gunnar™-Postings eines Tages Ashura™-Postings heißen.

      --
      “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
      1. Hallo Gunnar.

        PS: So wird meine Vision nie wahr, dass Gunnar™-Postings eines Tages Ashura™-Postings heißen.

        Tröste dich, du hast dir diesen Status hart verdient. Mir liegt nichts daran, ihn dir streitig zu machen.

        BTW: Warum schreibst du dir nicht auch einfach ein User–JS, welches das Einfügen und Validieren von Links übernimmt? Die Qualität musst du selbst einschätzen, aber du kannst dir ja Anregungen in meinem selfjs holen.

        Einen schönen Montag noch.

        Gruß, Ashura

        --
        sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
        „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
        [HTML Design Constraints: Logical Markup]
        1. Hello out there!

          PS: So wird meine Vision nie wahr, dass Gunnar™-Postings eines Tages Ashura™-Postings heißen.
          Tröste dich, du hast dir diesen Status hart verdient. Mir liegt nichts daran, ihn dir streitig zu machen.

          Nun mal keine Unschuld heucheln!

          BTW: Warum schreibst du dir nicht auch einfach ein User–JS, welches das Einfügen und Validieren von Links übernimmt?

          Warum ist das nicht einfach Bestandteil der Forumsoftware? Die fragt doch sonst alle möglichen Dinge ab. („Fehler: [...] Sind Sie sicher, dass Sie das Posting so abschicken wollen?“) Warum nicht auch die Korrektheit bei ?

          Dort wäre die Abfrage besser aufgehoben; anderen passieren solche Schnitzer ja auch.

          See ya up the road,
          Gunnar

          --
          “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
          1. Hallo Gunnar.

            BTW: Warum schreibst du dir nicht auch einfach ein User–JS, welches das Einfügen und Validieren von Links übernimmt?

            Warum ist das nicht einfach Bestandteil der Forumsoftware? Die fragt doch sonst alle möglichen Dinge ab. („Fehler: [...] Sind Sie sicher, dass Sie das Posting so abschicken wollen?“) Warum nicht auch die Korrektheit bei ?

            Ich rieche ein <I> …

            Dort wäre die Abfrage besser aufgehoben; anderen passieren solche Schnitzer ja auch.

            Und wer kann, unternimmt etwas dagegen. Wer nicht, der hat leider Pech gehabt und muss besonders aufmerksam sein.

            Einen schönen Montag noch.

            Gruß, Ashura

            --
            sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
            „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
            [HTML Design Constraints: Logical Markup]
    2. Hallo,

      Du wolltest ja auch nicht die Differenz zwischen document.getElementsByName("eml")[i].style.text und decoration bzw. document.getElementsByName("eml")[i].style.border und bottom berechnen.

      Hast du ne ahnung!? ;oP

      <http://de.selfhtml.org/javascript/objekte/style.htm@title=SELFHTML hat: CamelCase.

      A bissle versteckt!? =Hilfe für fortgeschrittene

      See ya up the road,

      Empfehlung, HD Untere Strasse

      Kann ich den title für besagte <span>-Elemete irgendwie (per CSS) vereinheitlichen oder muss ich das jedes Mal eintippen?
      Ich wollte für Bicht-JS-Nutzer den Hinweis bringen, dass der direkte Link nur mit JS zur Verfügung steht.

      bydey

      --
      -- bydey ist die Signatur und Verabschiedung, nicht der Nick --
      -- Navigate all your PHP web projects with  [link:http://deynews.de/ppb/@title=PHP Project Browser>--
      1. Hallo,

        <script type="text/javascript">
        for(var i = 0; i < document.getElementsByName("eml").length; i++) {
        document.getElementsByName("eml")[i].style.borderBottom="0.05em solid black";
        document.getElementsByName("eml")[i].style.cursor="pointer";
        }

        Funktioniert NUR bei FF.
        In IE oder Opera keinerlei Wirkung!

        bydey

        --
        -- bydey ist die Signatur und Verabschiedung, nicht der Nick --
        -- Navigate all your PHP web projects with  PHP Project Browser--
        1. Hallo,

          <script type="text/javascript">
          for(var i = 0; i < document.getElementsByName("eml").length; i++) {
          document.getElementsByName("eml")[i].style.borderBottom="0.05em solid black";
          document.getElementsByName("eml")[i].style.cursor="pointer";
          }

          Funktioniert NUR bei FF.
          In IE oder Opera keinerlei Wirkung!

          Das Element SPAN hat kein Attribut "name". Deshalb ist document.getElementsByName("eml").length gleich 0, wenn es nur SPAN-Elemente mit dem name-Attribut "eml" gibt. Kannst Du hier ein class-Attribut nehmen?

            
          var mySpans = document.getElementsByTagName("SPAN");  
          for(var i = 0; i < mySpans.length; i++) {  
           if(mySpans[i].className = "eml") {  
            mySpans[i].style.borderBottom="0.05em solid black";  
            mySpans[i].style.cursor="pointer";  
           }  
          }  
          
          

          Btw.: Könntest Du das dann nicht auch gleich _nur_ mit CSS machen?

            
          span.eml {  
           border-bottom:0.05em solid black;  
           cursor:pointer;  
          }  
          
          

          Sollte das class-Attribut nicht einheitlich für die SPANs sein, die Du auswählen willst, musst Du Dir ein anderes valides Attribut suchen und das Script entsprechend anpassen.

          viele Grüße

          Axel

          1. Hallo,

            var mySpans = document.getElementsByTagName("SPAN");
            for(var i = 0; i < mySpans.length; i++) {
            if(mySpans[i].className = "eml") {

            ^== "eml"

            mySpans[i].style.borderBottom="0.05em solid black";
              mySpans[i].style.cursor="pointer";
            }
            }

            *g*

            viele Grüße

            Axel

          2. Hallo,

            Funktioniert NUR bei FF.
            In IE oder Opera keinerlei Wirkung!

            Das Element SPAN hat kein Attribut "name". Deshalb ist document.getElementsByName("eml").length gleich 0, wenn es nur SPAN-Elemente mit dem name-Attribut "eml" gibt. Kannst Du hier ein class-Attribut nehmen?

            Soll das etwa heissen, dass IE richtig interpretiert und FF falsch? Das hat es doch noch nie gegeben

            var mySpans = document.getElementsByTagName("SPAN");
            for(var i = 0; i < mySpans.length; i++) {
            if(mySpans[i].className = "eml") {
              mySpans[i].style.borderBottom="0.05em solid black";
              mySpans[i].style.cursor="pointer";
            }
            }

              
            Fast gut: bei FF ist mein borderbottom zwischen text und Bild unterbrochen. Warum?  
              
            
            > Btw.: Könntest Du das dann nicht auch gleich \_nur\_ mit CSS machen?  
              
            Glaube nicht, da dann die Abhängigkeit zum JS verloren geht.  
              
              
            bydey
            
            -- 
            \-- bydey ist die Signatur und Verabschiedung, nicht der Nick --  
              
            \-- Navigate all your PHP web projects with  [PHP Project Browser](http://deynews.de/ppb/)--
            
            1. Hallo,

              Soll das etwa heissen, dass IE richtig interpretiert und FF falsch? Das hat es doch noch nie gegeben

              Also, was die JavaScript-Implementierung betrifft, ist der IE tatsächlich manchmal päpstlicher als die Geckos. ...bei dem was er an DOM kann natürlich nur.

              Fast gut: bei FF ist mein borderbottom zwischen text und Bild unterbrochen. Warum?

              Keine Ahnung, ich sehe kein Bild im Quellcode.

              viele Grüße

              Axel

              1. Hallo,

                Fast gut: bei FF ist mein borderbottom zwischen text und Bild unterbrochen. Warum?
                Keine Ahnung, ich sehe kein Bild im Quellcode.

                  
                                  <b>Vertrieb:</b><br>  
                                  Email: <span class="eml" onClick="xsm('sales')">sales<img src="img/contact/aed1.gif">  
                                  fuji-euro<img src="img/contact/dod1.gif">de</span><br>  
                                  <br>  
                
                

                Wie schon erwähnt setze ich die Bilder für @ und . ein, um die Adresse für robots unleserlich zu machen.

                bydey

                --
                -- bydey ist die Signatur und Verabschiedung, nicht der Nick --
                -- Navigate all your PHP web projects with  PHP Project Browser--
                1. Hallo,

                  Fast gut: bei FF ist mein borderbottom zwischen text und Bild unterbrochen. Warum?

                  <b>Vertrieb:</b><br>
                                    Email: <span class="eml" onClick="xsm('sales')">sales<img src="img/contact/aed1.gif">
                                    fuji-euro<img src="img/contact/dod1.gif">de</span><br>
                                    <br>

                    
                  Kann ich nicht nachvollziehen. Bei mir geht die untere Rahmenlinie mit dem JavaScript vom Vorposting unter dem gesamten SPAN.eml entlang.  
                    
                  Gibt es irgendwelches CSS für die Bilder oder die Class eml, welches Du uns verschweigst?  
                    
                  Am Besten mal ein einfaches Beispiel online stellen.  
                    
                  viele Grüße  
                    
                  Axel
                  
                  1. Hallo,

                    wie sagt man so schön: durch die rust ins Knie...

                    Mein Ansatz war, wie so oft, einfach nur umständlich.
                    Dem Hinweis bezüglich CSS hätte ich gleich folgen sollen.

                    So sieht es jetzt aus und erfüllt die Kriterien hinsichtlich Optik und Funktion.
                    Und das Problem war, _natürlich_ ein margin für das Bild.

                    Hier der Code

                    HTML:

                      
                    Email: <a class="xeml" href="javascript:xsm('kl;gross')">kl<img src="img/contact/dod1.gif">gross<img src="img/contact/aed1.gif">  
                    fuji-euro<img src="img/contact/dod1.gif">de</a><br>  
                    
                    

                    JS

                      
                    for(var i = 0; i < document.getElementsByTagName("a").length; i++) {  
                      if(document.getElementsByTagName("a")[i].className == "xeml") {  
                      document.getElementsByTagName("a")[i].className="eml";  
                     }  
                      if(document.getElementsByTagName("a")[i].className == "f_xeml") {  
                      document.getElementsByTagName("a")[i].className="f_eml";  
                     }  
                    }  
                      
                    function xsm(names) {  
                    var adr = ""  
                    var name = names.split(",,");  
                    var aed1 = "@";  
                    var fme = "fuji-euro.de"  
                    for(var j = 0; j < name.length; j++) {  
                     name[j] = name[j].replace(/;/, ".");  
                     adr = adr+name[j]+aed1+fme+";";  
                    }  
                    location.href='mailto:'+adr;  
                    }  
                    
                    

                    CSS

                      
                    .eml {text-decoration:none;cursor:pointer;border-bottom:0.07em solid #333333;}  
                    .xeml {text-decoration:none;cursor:default}  
                    
                    

                    bydey

                    --
                    -- bydey ist die Signatur und Verabschiedung, nicht der Nick --
                    -- Navigate all your PHP web projects with  PHP Project Browser--
                    1. Hallo,

                      for(var i = 0; i < document.getElementsByTagName("a").length; i++) {
                        if(document.getElementsByTagName("a")[i].className == "xeml") {
                        document.getElementsByTagName("a")[i].className="eml";
                      }
                        if(document.getElementsByTagName("a")[i].className == "f_xeml") {
                        document.getElementsByTagName("a")[i].className="f_eml";
                      }
                      }

                        
                      Die document.getElement-Methoden sind bitte sparsam einzusetzen. Dabei muss jedesmal der gesamte Dokument-Baum durchforstet werden.  
                        
                      Besser:  
                      ~~~javascript
                        
                      var myAs = document.getElementsByTagName("a");  
                      for(var i = 0; i < myAs.length; i++) {  
                       if(myAs[i].className == "xeml") {  
                        myAs[i].className="eml";  
                       }  
                       if(myAs[i].className == "f_xeml") {  
                        myAs[i].className="f_eml";  
                       }  
                      }  
                      
                      

                      viele Grüße

                      Axel