data-something="+5"
和元素嘗試:
alert($(el).data('something')); //gives 5, not +5...
我怎麼能找回原來的價值?
data-something="+5"
和元素嘗試:
alert($(el).data('something')); //gives 5, not +5...
我怎麼能找回原來的價值?
引述jQuery的手冊,有關)數據屬性的萃取與訪問。數據( -
每一個試圖將字符串轉換爲JavaScript值(包括布爾,數字,對象,數組和空值),否則它保留爲字符串。要將 值的屬性檢索爲字符串而不嘗試轉換它,請使用attr()方法。
它看起來像你的+5被解釋爲正整數5.
這似乎是由設計。
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)
檢索值的屬性作爲一個字符串,沒有任何企圖 轉換它,使用
attr()
方法。
我確定希望在閱讀信息來源之前先閱讀手冊* – thirtydot
我向您致敬,儘管 –