2016-03-14 34 views

回答

3

jQuery的data()確實類型轉換,所以當數據屬性是有效的JSON,它已經解析爲一個對象,並傳遞一個目的是$.parseJSON產生一個錯誤,因爲它期望的字符串JSON。

$(document).ready(function(){ 
    var data = $("div").data("x"); 
    console.log(data.a); 
}); 

documentation

每一個試圖將字符串轉換爲JavaScript值 (包括布爾,數字,對象,數組和null)
如果這樣做不會更改值的 表示形式,則只會將值轉換爲數字。

例如「1E02」和「100.000」是等同的作爲 號碼(數值100)但轉換所以它們被保留爲字符串他們會改變它們的 表示。字符串值「100」是 轉換爲數字100。

當數據屬性是對象或陣列 (與「{」開始)(以「[」)然後jQuery.parseJSON被用於解析字符串; 它必須遵循有效的JSON語法,包括帶引號的屬性名稱。如果 該值無法解析爲JavaScript值,則將其保留爲 字符串。

要檢索值的屬性作爲字符串,而不嘗試 轉換它,請使用attr()方法。

相關問題