Mã này không làm việc:jQuery có được văn bản như số
var number = $(this).find('.number').text();
var current = 600;
if (current > number){
// do something
}
HTML:
<div class="number">400</div>
Có vẻ có một số vấn đề với chuyển đổi text()
từ giá trị văn bản giống như đến số.
Giải pháp là gì?
'+ 'sẽ không trở lại không cho một không hợp lệ số, nó sẽ trả về 'NaN'. IMO, điều này làm cho nó lý tưởng hơn * parseInt() *, vì * parseInt * sẽ cố gắng tìm một số ở đầu chuỗi không đúng định dạng có thể dẫn đến nhầm lẫn (ví dụ: 1.000 trở thành 1). '+ str' giống như viết' Số (str) '. –
Doh, bạn nói đúng. – RoToRa
Một cái gì đó tôi chạy vào khi sử dụng parseInt() là khi tôi có một kết quả NaN, nó sẽ mess up tính toán. Tôi đã sửa lỗi này bằng cách sử dụng toán tử bitwise. Một ví dụ là: 'parseInt ($ (this) .find ('. Number'). Text() || 0)' –