2016-11-30 3 views
0

Ich schrieb eine Menge img Tags mit title Attribut. Und ich möchte entfernen und fügen Sie die title in einem div Tag nach dem img mit jQuery. Die title enthält Pause/neue Zeile, also, wenn jQuery die title an HTML anfügt, zeigt diese Pause/neue Zeile einen Leerraum.jQuery Regex - kann nicht brechen/neue Zeile zu <br> im Titel des Titels img Attribut

Ich versuchte servel Codes mit regex, aber ich kann immer noch nicht Pause/neue Zeile <br> ersetzen:

  1. $.title.replace(/\r/, "<br />");
  2. $.title.replace(/\n/, "<br />");
  3. $.title.replace(/\r\n/, "<br />");
  4. $.title.replace(/\\r\\n/, "<br />");
  5. $.title.replace(/\\r/, "<br />");
  6. $.title.replace(/\\n/, "<br />");
  7. $.title.replace(" ", "<br />");
  8. $.title.replace("&#x20;", "<br />");
  9. $.title.replace("&#x0D;&#x0A;", "<br />");

jsfiddle:

$.title = $(".abc").attr('title'); 
 
alert($.title); 
 

 
//not working 
 
$.title.replace(/\r\n/, "<br />"); 
 

 

 
alert($.title); 
 
$(".abc").after("<div>" + $.title + "</div>");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<img class="abc" title="abc 
 
def" />

+0

Sie sollten vermeiden Variablen, um die $ zu binden. Verwenden Sie stattdessen var, um eine Variable zu initialisieren. so 'var title = $ ('. abc'). attr ('title')' –

+0

Und die Regex ist nicht das Problem. Sie müssen Ihren Titel mit den ersetzten Symbolen speichern: '$ .title = $ .title.replace (/ \ r \ n /,"
");' –

+0

@MartinCup, Ich habe Ihre Methode versucht, aber kein Glück, es tut es immer noch nicht arbeiten. Code: 'var title = $ ('. Abc') .attr ('titel');', 'title.replace (/ \ r \ n /,"
");'. – Louis55

Antwort

1

Die replace() Methode durchsucht eine Zeichenkette für einen bestimmten Wert oder einem regelmäßigen expressi on und gibt eine neue Zeichenfolge zurück, in der die angegebenen Werte ersetzt werden.

So werden Sie diese neue Zeichenfolge zu Ihrem $ .title

zuweisen müssen

wie bereits.

$.title = $(".abc").attr('title'); 
 
alert($.title); 
 

 
//working 
 
$.title = $.title.replace(/(\r\n|\n|\r)/gm,"<br />"); 
 

 

 
alert($.title); 
 
$(".abc").after("<div>" + $.title + "</div>");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<img class="abc" title="abc 
 
def" />

Verwandte Themen