2010-06-11 35 views

Trả lời

142

Không jQuery yêu cầu cho điều này, Plain Ol' JS (tm) sẽ làm ya,

parseInt(a, 10); 
+3

Hàng ngày trong mọi thời điểm Im yêu bạn ngày càng nhiều javascript –

+1

Điều này sẽ không hoạt động với "20pt" hoặc "20em". parseInt ("20pt") == 20! Đây có thể là tất cả những gì mà người đăng tải cần, nhưng tôi muốn có thể sử dụng X ("20em") chẳng hạn và lấy lại chiều rộng thực theo pixel. –

+1

@lsiden: nó hoạt động. 'parseInt (" 20em ", 10) === 20' và' parseInt ("20pt", 10) === 20'. Vui lòng dán biểu thức này vào bảng điều khiển của trình duyệt yêu thích của bạn hoặc xem [ví dụ rất ngắn] này (http://jsfiddle.net/8Rqz4/). Dù bạn đang gặp vấn đề gì nằm ở đâu đó trong mã của bạn. –

5
var c = parseInt(a,10); 
3
$.parseMethod = function (s) 
{ 
    return Number(s.replace(/px$/, '')); 
}; 

mặc dù như thế nào là có liên quan này để jQuery, tôi không biết

21

Tổng quát hơn , parseFloat sẽ xử lý các số dấu phẩy động một cách chính xác, trong khi parseInt có thể âm thầm mất đi số lượng đáng kể của nó:

parseFloat('20.954544px') 
> 20.954544 
parseInt('20.954544px') 
> 20 
-2
$(document).ready(function(){<br> 
    $("#btnW1").click(function(){<br> 
     $("#d1").animate({<br> 
      width: "+=" + x, 

     }); 
    }); 

Khi cố gắng để xác định các biến x với một giá trị pixel tôi bằng cách sử dụng jquery tôi đặt + = trong dấu ngoặc kép. Thay vì có chiều rộng: '+ = x', không hoạt động vì nó cho rằng x là một chuỗi chứ không phải là số. Hy vọng rằng điều này sẽ giúp.

Các vấn đề liên quan