jQuery видаляє символ "-" із рядка


93

У мене є рядок "-123445". Чи можна видалити символ "-" із рядка?

Я спробував наступне, але безрезультатно:

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

Відповіді:


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

Оскільки text()отримує значення і text( "someValue" )встановлює значення, ви просто поміщаєте одне в інше.

Це було б еквівалентно виконанню:

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

РЕДАГУВАТИ:

Сподіваюся, я правильно зрозумів питання. Я припускаю $mylabel, що посилається на елемент DOM в об'єкті jQuery, а рядок знаходиться у вмісті елемента.

Якщо рядок знаходиться в якійсь іншій змінній, яка не є частиною DOM, тоді ви, швидше за все, захочете викликати .replace()функцію проти цієї змінної, перш ніж вставляти її в DOM.

Подобається це:

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

або більш детальна версія:

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

yip $ mylabel посилається на елемент DOM. Я спробував це, і воно чудово працює. Спасибі за вашу допомогу.
Riain McAtamney

9
Про всяк випадок, якщо ви хочете видалити всі входження рядка, замість лише першого, ви можете використовувати: $ mylabel.text (). Replace (/ - / g, '');
leticia


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

якщо ви зробили це так, stringтепер мінна змінна"123456"

Ви також можете (я думаю, кращий спосіб) зробити це ...

$mylabel.text("-123456");
$mylabel.text(function(i,v){
   return v.replace('-','');
});
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.