2011-07-03 83 views
0

我有一個列表對象的屬性在HTML這樣的:解析字符串值對在javascript

<ul> 
<li id="myID" add-param="{"type1":"myType1","type2":"myType2"}">Test</li> 
</ul> 

經與指定的ID列表項,我怎麼可能通過密鑰類型獲得值myType1,myType2 ,type2?

謝謝。

+1

add-param =「{」type1「:」myType1「,」type2「:」myType2「}」將不起作用,請嘗試:add-param =「{'type1':'myType1','type2':' myType2「}」 – joel1di1

+0

add-param =「{」type1「:」myType1「,」type2「:」myType2「}」工作在Firefox 4.0.1以及IE 7中。而Dogbert的回答就是與此兼容。 – sangam

回答

3
var json = JSON.parse($('#myID').attr('add-param')); 

alert(json.type1) # myType1 

一些舊的瀏覽器不具備JSON.parse,你需要使用 - https://github.com/douglascrockford/JSON-js/blob/master/json2.js

旁註:您應該使用數據屬性,而不是定義自己的自定義屬性 - http://ejohn.org/blog/html-5-data-attributes/

+0

請注意,並非所有瀏覽器都支持'JSON'對象。 – duri

+0

@duri,只是澄清這一點:) – Dogbert

+0

我已經在我的頁面中包含了json2.js文件。這與IE 7和FF 4.0.1一起工作。是否有其他瀏覽器不支持此功能,或者是否支持所有瀏覽器? – sangam