2014-01-18 131 views
0

我有通過服務器上的AJAX生成的簡單標記。相關行是:

<div id='login_history_resp' 
     class='paginator_slider' 
     DATA-params="{'SLIDER_LEFT_POS':139, 'SLIDER_WIDTH':309, 'HANDLE_WIDTH':165}" > 
    </div> 

以上其實就是一行。爲了便於閱讀,我試圖將其分成多個部分。 在此,我運行下面的JS,它失敗。

slider_css = $.parseJSON($('#login_history_resp').data('params')); 

到目前爲止我做了什麼?我嘗試在分配給DATA-params的字符串中交換雙/單引號。我試着把所有的雙引號放在一起。我甚至在DATA-params上嘗試過.attr。我需要將其作爲對象讀取,然後提取各個屬性。我究竟做錯了什麼?請幫忙!

+2

使用雙引號和刪除'$ .parseJSON'。 jQuery處理它。 http://jsfiddle.net/D37DR/ – undefined

+0

@BlackSheep在哪裏使用雙引號?我試過DATA-params ='{「SLIDER ... – Sam

+2

對於屬性,這是一個無效的JSON,你也不應該重新解析它,jQuery調用場景後面的'$ .parseJSON'。 – undefined

回答

3

兩個步驟在這裏:

  1. 改變周圍的JSON屬性雙引號的報價;它是not valid JSON
  2. data方法會自動解析你的JSON,所以沒必要!

的HTML:

<div id='login_history_resp' 
     class='paginator_slider' 
     DATA-params='{"SLIDER_LEFT_POS":139, "SLIDER_WIDTH":309, "HANDLE_WIDTH":165}' > 
</div> 

中的JavaScript:

slider_css = $('#login_history_resp').data('params'); 
+0

謝謝,但我試過了,它返回null。可能是我在AJAX返回的其他地方做了錯誤的事情,讓我再檢查一下,我已經upvoted你的答案。問題出現在其他地方,我肯定會接受你的回答,但是我確實學到了一些東西...... – Sam

+0

Evan Hahn。問題在其他地方,謝謝你的幫助。 – Sam