您好,登錄后才能下訂單哦!
前幾天做項目遇到一個很簡單的問題。
將美國各州的全稱通過javascript改成縮寫,本以為用JSON文本可以很輕松的解決,卻碰到一個麻煩。
本想這么寫就行了
var shortname = {"Alabama":"AL","Alaska":"AK","American_Samoa":"AS"} $('.table_cell_county a').each(function(){ state_name = $(this).html(); $(this).html(shortname.state_name.replace(" ",'_')); });
結果發現JSON根本沒有這樣的語法:
shortname.state_name.replace(" ",'_')
這個時候就要用到 eval()
w3cschool上的例子非常簡單:
document.write(eval("2+2"))
就是對string進行javascript的計算,是不是感覺這樣的函數并沒有什么用。
那么接著看下面
在這里我們就要將JSON獲取值的語法用string的方式寫出來
"shortname."+state_name.replace(" ",'_')
這樣用eval()就可以執行這個表達式了
放到整個代碼中去:
var shortname = {"Alabama":"AL","Alaska":"AK","American_Samoa":"AS"} $('.table_cell_county a').each(function(){ state_name = $(this).html(); $(this).html(eval("shortname."+state_name.replace(" ",'_'))); });
成功啦!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。