Câu hỏi jQuery xóa ký tự '-' khỏi chuỗi


Tôi có một chuỗi "-123445". Có thể loại bỏ ký tự '-' khỏi chuỗi không?

Tôi đã thử những điều sau nhưng vô ích:

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

76
2018-06-01 13:58


gốc




Các câu trả lời:


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

text() nhận được giá trị và text( "someValue" ) đặt giá trị, bạn chỉ cần đặt một giá trị trong cái kia.

Sẽ là tương đương với làm:

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

CHỈNH SỬA:

Tôi hy vọng tôi hiểu câu hỏi một cách chính xác. Tôi giả sử $mylabel đang tham chiếu một phần tử DOM trong một đối tượng jQuery và chuỗi nằm trong nội dung của phần tử.

Nếu chuỗi nằm trong một số biến khác không phải là một phần của DOM, thì có thể bạn sẽ muốn gọi .replace() chức năng chống lại biến đó trước bạn chèn nó vào DOM.

Như thế này:

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

hoặc một phiên bản chi tiết hơn:

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

143
2018-06-01 13:59



yip $ mylabel đang tham chiếu đến phần tử DOM. Tôi đã thử điều này và nó hoạt động hoàn hảo. Cảm ơn bạn đã giúp đỡ. - Riain McAtamney
Không có gì. Mừng vì tôi có thể giúp. : o) - user113716
Chỉ trong trường hợp bạn muốn xóa tất cả các lần xuất hiện của một chuỗi, thay vì chỉ là chuỗi đầu tiên, bạn có thể sử dụng: $ mylabel.text (). Replace (/ - / g, ''); - leticia


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

nếu bạn đã thực hiện nó theo cách đó string hiện đang nắm giữ "123456"

bạn cũng có thể (tôi đoán cách tốt hơn) làm điều này ...

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

8
2018-06-01 14:00





Nếu bạn muốn xóa tất cả - bạn có thể dùng:

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

5
2018-01-18 12:04



Nếu bạn đang xóa toàn bộ một khoảng thời gian: stackoverflow.com/questions/2390789/… - irl_irl