2009-11-06 4 views
15

Ich möchte das erste Zeichen aus dem Text der Verbindung mit jQuery entfernen.Wie entferne ich das erste Zeichen aus einem Link-Text mit jQuery?

<span class="test1"> +123.23 </span> 
<span class="test2"> -13.23 </span> 

Ich möchte die "+" und "-" aus mit jQuery entfernen.

Ausgang:

<span class="test1"> 123.23 </span> 
<span class="test2"> 13.23 </span> 
+0

Welchen Code haben Sie dafür geschrieben und was war das Ergebnis Ihrer Hausaufgabe? –

Antwort

40
var val = $("span").html(); 
$("span").html(val.substring(1, val.length)); 
+1

Ein Schritt zurück zurückgesetzt: 1) Dies ersetzt den Wert aller Span-Elemente durch den Wert des ersten Span-Elements. 2) Dieses Beispiel hat einen Syntaxfehler. – BalusC

+0

Ihr Startindex ist falsch. Sollte 2 sein. Außerdem müssen Sie dem neuen Wert ein Leerzeichen hinzufügen, da dies in der Ausgabe benötigt wird. –

+7

Diese Antwort ist unnötig kompliziert. Warum nicht einfach $ ('span'). Html(). Substring (1)? –

24
$("span.test1, span.test2").each(function() { 
    $(this).text($(this).text().replace(/[+-]/, "")); 
}); 
+0

+1 Teilstring ist der schlechte Weg, dies zu tun. Trotz der Antwort des Autors tick .. diese Antwort mit Regex ist die richtige Antwort! – Evildonald

+3

@Evildonald: Warum Teilzeichenfolge ist schlecht? Ich stimme zu, dass es besser ist, Regex zu verwenden, aber ich werde den Teilstring nicht schlecht nennen :-) –

+2

Warum ist Regex besser? Wenn Sie wissen, wo die Substitution stattfinden muss, ist die Teilzeichenfolge sowohl hinsichtlich der Leistung als auch der Lesbarkeit besser als Regex. –

2

Sie können erhalten/stellen Sie die Verwendung von HTML .html() und entfernen Sie das erste Zeichen mit .substring(), ich denke, es ist jetzt ziemlich klar ist, können Sie muss nur einen 2 (oder 3) Zeilen Code schreiben.

7
// get the current text 
text1 = $(".test1").html(); 
// set the text to the substring starting at the third character 
$(".test1").html(text1.substring(2)); // extract to the end of the string 

text2 = $(".test2").html(); 
$(".test2").html(" " + text2.substring(2)); // looks like you want to keep the leading space 
Verwandte Themen