jQuery eliminando el carácter '-' de la cadena


93

Tengo una cadena "-123445". ¿Es posible eliminar el carácter '-' de la cadena?

He intentado lo siguiente, pero fue en vano:

$mylabel.text("-123456");
$mylabel.text().replace('-', '');

Respuestas:


169
$mylabel.text( $mylabel.text().replace('-', '') );

Dado que text()obtiene el valor y text( "someValue" )establece el valor, simplemente coloque uno dentro del otro.

Sería el equivalente a hacer:

var newValue = $mylabel.text().replace('-', '');
$mylabel.text( newValue );

EDITAR:

Espero haber entendido la pregunta correctamente. Estoy asumiendo$mylabel hace referencia a un elemento DOM en un objeto jQuery, y la cadena está en el contenido del elemento.

Si la cadena está en alguna otra variable que no es parte del DOM, entonces probablemente querrá llamar a la .replace()función contra esa variable antes de insertarla en el DOM.

Me gusta esto:

var someVariable = "-123456";
$mylabel.text( someVariable.replace('-', '') );

o una versión más detallada:

var someVariable = "-123456";
someVariable = someVariable.replace('-', '');
$mylabel.text( someVariable );

yip $ mylabel hace referencia a un elemento DOM. Probé esto y funciona perfectamente. Gracias por tu ayuda.
Riain McAtamney

9
En caso de que desee eliminar todas las apariciones de una cadena, en lugar de solo la primera, puede usar: $ mylabel.text (). Replace (/ - / g, '');
leticia


8
$mylabel.text("-123456");
var string = $mylabel.text().replace('-', '');

si lo has hecho así variable string ahora se mantiene"123456"

también puedes (supongo que es la mejor manera) hacer esto ...

$mylabel.text("-123456");
$mylabel.text(function(i,v){
   return v.replace('-','');
});
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.