[JS] replace String (Tooltip)

Dieses Thema im Forum "Webentwicklung" wurde erstellt von onip, 30. Oktober 2013 .

  1. 30. Oktober 2013
    hallo zusammen,

    ich hab ein kleines problem mit replace in JS.
    ich hol mir das html aus einem element und möchte wörter ersetzen
    um diese mit nem tooltip zu versehen.
    das geht soweit:
    HTML:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    
    <html>
    <head>
    <title>Unbenannt</title>
    <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
    <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
    </head>
    
    <body>
    
    <div id="main">
     <h1>EMPL</h1>
     <p>Vivamus EMPL augue lectus, volutpat vel fringilla quis, sagittis id felis. Nulla lacus erat, EMPL convallis vel moles</p>
     <ul>
     <li><a href="#" rel="">all</a></li>
     <li><a href="#AFCO" rel="AFCO">AFCO</a></li>
     <li><a href="#AFET" rel="AFET">AFET</a></li>
     <li><a href="#EMPL" rel="EMPL">EMPL</a></li>
     </ul>
    </div>
    
    <script>
    var Wert = $('#main').html();
    Wert = Wert.replace('EMPL', '<span class="tooltip" title="_EMPL_">EMPL</span>', 'g');
    $('#main').html(Wert);
    $('.tooltip').tooltip();
    </script>
    
    </body>
    </html>
    
    bis auf diesen teil:
    HTML:
    <a href="#EMPL" rel="EMPL">EMPL</a>
    ausgabe:
    HTML:
    <a title="_EMPL_" tooltip"="" href="#&lt;span class=">EMPL" rel="<span title="_EMPL_" class="tooltip">EMPL</span>"&gt;<span title="_EMPL_" class="tooltip">EMPL</span></a>
    kann ich die regel so anpassen, dass z.b kein " davor oder dahinter sein darf.
     
  2. 30. Oktober 2013
    AW: [JS] replace

    Feststellung, oder Frage?

    (?<! ... ) ... (?! ... )
     
  3. 30. Oktober 2013
    AW: [JS] replace

    eigentlich ne frage, aber ich weiß das es geht, daher wohl eher ne festellung
    ich bin in sache regulärer ausdrücke leider nicht geübt.
    hab's jetzt so:
    HTML:
    Wert = Wert.replace('EMPL(?!")', '<span class="tooltip" title="_EMPL_">EMPL</span>', 'g');
    
    passiert nix
    keine tooltips mehr da.
     
  4. 30. Oktober 2013
    AW: [JS] replace

    Reguläre Ausdrücke schreibt man in JavaScript innerhalb von / ... /
     
  5. 30. Oktober 2013
    Zuletzt bearbeitet: 30. Oktober 2013
    AW: [JS] replace

    ja, so geht's
    HTML:
    Wert = Wert.replace(/EMPL(?!")/g, '<span class="tooltip" title="_EMPL_">EMPL</span>');
    dabei hab ich jedoch ne frage.
    wie kann ich dabei ne variable zuweisen?
    z.b.
    HTML:
    var suche = 'EMPL';
    Wert = Wert.replace(/suche(?!")/g, '<span class="tooltip" title="_EMPL_">EMPL</span>');
    
    weil das problem hatte ich schonmal und bin auf diese schreibweise umgestiegen.
    HTML:
    var suche = 'EMPL';
    Wert = Wert.replace(suche, '<span class="tooltip" title="_EMPL_">EMPL</span>', 'g');
    sinn dahinter soll eine schleife sein, die ich ggf. durchlaufen lassen möchte.

    // edit
    ha, ich hab's
    HTML:
    suche = 'EMPL';
    Wert = Wert.replace(RegExp(suche+'(?!")', 'g'), '<span class="tooltip" title="_EMPL_">EMPL</span>');
    
    danke dir
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.