2011-08-14 37 views

回答

4

引述jQuery的手冊,有關)數據屬性的萃取與訪問。數據( -

每一個試圖將字符串轉換爲JavaScript值(包括布爾,數字,對象,數組和空值),否則它保留爲字符串。要將 值的屬性檢索爲字符串而不嘗試轉換它,請使用attr()方法。

它看起來像你的+5被解釋爲正整數5.

+0

我確定希望在閱讀信息來源之前先閱讀手冊* – thirtydot

+0

我向您致敬,儘管 –

3

這似乎是由設計。

https://github.com/jquery/jquery/blob/master/src/data.js#L314

data = data === "true" ? true : 
data === "false" ? false : 
data === "null" ? null : 
!jQuery.isNaN(data) ? parseFloat(data) : 
    rbrace.test(data) ? jQuery.parseJSON(data) : 
    data; 

就這麼parseFloat,強迫它變成一個數字:

parseFloat('+5') == Number(5) 

http://api.jquery.com/data/

檢索值的屬性作爲一個字符串,沒有任何企圖 轉換它,使用attr()方法。