2016-08-13 1 views
-2

Ich benutze den einen Liner, um alle <span class='highlight'> von Elementen auszupacken, so dass ich nur mit dem Text innerhalb der Spannweite übrig bin.Wie trimme ich unerwünschte neue Links, die nach dem Auspacken von Tags aus dem Text übrig bleiben?

$('span.highlight').contents().unwrap(); 

Wie kann ich unerwünschte neue Linien entfernen, die einmal gelassen werden ich, dass Eltern-Tags der angegebenen Textinhalte entfernen Kontinuität des Textes zu bewahren?

+1

Haben Sie es ohne 'contents()' – adeneo

Antwort

0

Die folgenden Änderung an den Einzeiler half die gewünschte Lösung zu erzielen.

 $('span.highlight').each(function(){ 
      var parent = $(this).parent(); 
      $(this).contents().unwrap(); 
      $(parent).text(parent.text().replace(/\n/g, '')); 
     }); 
1

Sie können führende Whitespaces mithilfe der ^\s+ Regex und nachgestellten Leerzeichen mithilfe der \s+$ entfernen. So ersetzen Sie eine dieser beiden passenden Zeichenfolge in der Zeichenfolge mit nichts:

var stringValue = "\r\nHi\r\n\r\nThere\r\n\r\n"; 
 
console.log(stringValue); 
 
console.log(stringValue.replace(/^\s+|\s+$/g, ""));

+0

Vielen Dank für die Antwort versucht. Ich habe versucht, den Ersatz nach der Unpack in Antwort auf die ursprüngliche Antwort wie folgt zu ersetzen $ ('span.highlight'). Contents(). Unwrap(). Replace(), aber ich erhalte eine Ersetzung ist keine Funktion. – Vahe

Verwandte Themen