jQuery usuwa znak „-” z ciągu


93

Mam ciąg „-123445”. Czy można usunąć znak „-” z ciągu?

Próbowałem następujących rzeczy, ale bezskutecznie:

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

Odpowiedzi:


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

Ponieważ text()pobiera wartość i text( "someValue" )ustawia wartość, po prostu umieszczasz jeden wewnątrz drugiego.

Byłoby to odpowiednikiem zrobienia:

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

EDYTOWAĆ:

Mam nadzieję, że dobrze zrozumiałem pytanie. Zakładam, że $mylabelodwołuje się do elementu DOM w obiekcie jQuery, a ciąg znaków znajduje się w treści elementu.

Jeśli ciąg znajduje się w innej zmiennej, która nie jest częścią DOM, prawdopodobnie będziesz chciał wywołać .replace()funkcję względem tej zmiennej przed wstawieniem jej do DOM.

Lubię to:

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

lub bardziej szczegółowa wersja:

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

yip $ mylabel odwołuje się do elementu DOM. Próbowałem tego i działa idealnie. Dzięki za pomoc.
Riain McAtamney

9
Na wypadek, gdybyś chciał usunąć wszystkie wystąpienia łańcucha, zamiast tylko pierwszego, możesz użyć: $ mylabel.text (). Replace (/ - / g, '');
leticia


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

jeśli zrobiłeś to w ten sposób, zmienna stringzachowuje się teraz"123456"

możesz też (chyba lepiej) to zrobić ...

$mylabel.text("-123456");
$mylabel.text(function(i,v){
   return v.replace('-','');
});
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.