jQuery xóa ký tự '-' khỏi chuỗi


93

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

Tôi đã thử những cách sau nhưng không có kết quả:

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

Câu trả lời:


168
$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 cái bên trong cái kia.

Tương đương với việc làm:

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

BIÊN TẬP:

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 đến 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ì bạn có thể muốn gọi .replace()hàm 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 dài hơn:

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

yip $ mylabel đang tham chiếu đến một 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

9
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ần đầu tiên, bạn có thể sử dụng: $ mylabel.text (). Replace (/ - / g, '');
leticia


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

nếu bạn đã làm theo cách đó, biến stringhiện đang 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('-','');
});
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.