Pytanie jQuery usuwa "-" znak z łańcucha


Mam ciąg "-123445". Czy można usunąć znak "-" z ciągu znaków?

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

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

76
2018-06-01 13:58


pochodzenie




Odpowiedzi:


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

Od text() dostaje wartość, a text( "someValue" ) ustawia wartość, po prostu umieszczasz jedną w drugiej.

Byłby odpowiednikiem robienia:

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

EDYTOWAĆ:

Mam nadzieję, że dobrze zrozumiałem to pytanie. jestem zarozumiały $mylabel odwołuje się do elementu DOM w obiekcie jQuery, a ciąg jest w treści elementu.

Jeśli ciąg jest w innej zmiennej, która nie jest częścią DOM, prawdopodobnie będziesz chciał wywołać .replace() działa przeciwko tej zmiennej przed wstawiasz go do DOM.

Lubię to:

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

lub bardziej szczegółową wersję:

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

143
2018-06-01 13:59



yip $ mylabel odwołuje się do elementu DOM. Próbowałem tego i działa idealnie. Dzięki za pomoc. - Riain McAtamney
Nie ma za co. Cieszę się, że mogłem pomóc. : o) - user113716
Na wypadek, gdybyś chciał usunąć wszystkie wystąpienia ciągu, zamiast tylko pierwszego, możesz użyć: $ mylabel.text (). Replace (/ - / g, ''); - leticia


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

jeśli zrobiłeś to w ten sposób zmienna string teraz trzyma "123456"

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

$mylabel.text("-123456");
$mylabel.text(function(i,v){
   return v.replace('-','');
});

8
2018-06-01 14:00





Jeśli chcesz usunąć wszystkie - możesz użyć:

.replace(new RegExp('-', 'g'),"")

5
2018-01-18 12:04



Jeśli usuwasz kropkę / kropkę: stackoverflow.com/questions/2390789/... - irl_irl