2009-11-06 10 views
15

Quiero eliminar el primer carácter del texto del enlace con jQuery.¿Cómo elimino el primer carácter del texto de un enlace con jQuery?

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

Quiero eliminar el "+" y "-" de con jQuery.

Salida:

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

¿Qué código ha escrito para esto y cuál fue el resultado de su tarea? –

Respuesta

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

Votación descendente un paso atrás: 1) esto reemplaza el valor de todos los elementos de tramo con el valor del primer elemento de tramo. 2) este ejemplo tiene un error de sintaxis. – BalusC

+0

Su índice inicial es incorrecto. Debe ser 2. Además, debe agregar un espacio inicial al nuevo valor ya que eso es lo que se necesita en la salida. –

+7

Esta respuesta es innecesariamente complicada. ¿Por qué no simplemente hacer $ ('span'). Html(). Substring (1)? –

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

+1 subcadena es la mala forma de hacerlo. A pesar de la respuesta del autor, ¡esta respuesta con Regex es la respuesta correcta! – Evildonald

+3

@Evildonald: ¿por qué la subcadena es mala? Estoy de acuerdo en que es mejor usar Regex, pero no voy a llamar subcadena grave :-) –

+2

¿Por qué es mejor Regex? Si sabe dónde debe suceder la sustitución, la subcadena es mejor que Regex desde el punto de vista del rendimiento y la legibilidad. –

2

se puede obtener/establecer el HTML usando html() y retire el primer carácter utilizando .substring(), creo que está bastante claro ahora, solo necesita escribir un código de 2 (o 3) líneas.

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 
Cuestiones relacionadas