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 );

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('-','');
});
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.