jQuery удаляет символ '-' из строки

93

У меня есть строка "-123445". Можно ли убрать из строки символ '-'?

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

$mylabel.text("-123456");
$mylabel.text().replace('-', '');
Риэн МакЭтамни
источник

Ответы:

169
$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 );
user113716
источник
yip $ mylabel ссылается на элемент DOM. Я пробовал это, и он отлично работает. Спасибо за вашу помощь.
Riain McAtamney 01
9
На всякий случай, если вы хотите удалить все вхождения строки, а не только первое, вы можете использовать: $ mylabel.text (). Replace (/ - / g, '');
leticia
11

Если вы хотите удалить все, что -вы можете использовать:

.replace(new RegExp('-', 'g'),"")
Эльназ
источник
Если вы
удаляете
1
его заменить все символы. большой лайк :)
Hamid
8
$mylabel.text("-123456");
var string = $mylabel.text().replace('-', '');

если вы сделали это таким образом, stringтеперь переменная содержит"123456"

вы также можете (я думаю, лучший способ) сделать это ...

$mylabel.text("-123456");
$mylabel.text(function(i,v){
   return v.replace('-','');
});
Рейгель
источник