成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

幾分鐘教您擴展jQuery的Json技巧說明

開發
以前用習慣了prototype.js,在進行ajax開發時,處理json數據非常方便;而在jQuery中,只提供了一個簡單的jQuery.getJSON()方法,并未提供擴展Jquery的Json的方法。

接下來給大伙介紹幾個例子,相信做網頁的朋友都遇到n級菜單的情景,但點擊某菜單按鈕時,如果它的子菜單是顯示的,則隱藏子菜單,如果子菜單隱藏,則顯示出來,傳統的javascript做法是先用getElementById取出子菜單所在容器的id,在判斷該容器的擴展Jquery的Json

如果等于則設為block,如果不等于這設為none,如果在將效果設置復雜一點,當點擊按鈕時,不是忽然隱藏和顯示子菜單,而是高度平滑的轉變,這時就要通過setTimeout來設置子菜單的height了。

再復雜一點透明度也平滑的消失和顯現,這時顯現下來需要編寫很多代碼,如果 js 基礎不好的朋友可能只能從別人寫好的代碼拿過來修改了!jQuery實現上面效果只需要1句話就行,$("#a").toggle("slow"),,學完jQuery后還需要抄襲修改別人的代碼嗎?下面我們逐個介紹jQuery用于效果處理的方法。#t#

本文在jQuery基礎上擴展了其處理json字符串能力,偉大的jQuery將會更偉大用jQuery寫javascript非常高效,jQuery對ajax的封裝也非常到位;使用jQuery一段時間后發現,jQuery在處理json字符串方面功能不是很強,至少比prototype.js差遠了。

以前用習慣了擴展Jquery的Json,在進行ajax開發時,處理json數據非常方便;而在jQuery中,只提供了一個簡單的jQuery.getJSON()方法,并未提供jQuery本身對json數據的轉換處理,將json字符串轉換為javascript數據對象還比較容易利用eval()函數即可,但要將javascript的數據類型轉換成json字符串就比較難了;剛開始不得同
時使用prototype.js和jQuery。

擴展Jquery的Json代碼:

  1. //擴展jQuery對json字符串的轉換  
  2. jQuery.extend({  
  3.   /** * @see 將json字符串轉換為對象 * @param json字符串 * @return 返回object,array,string等對象 */  
  4.   evalJSON: function(strJson) {  
  5.     return eval("(" + strJson + ")");  
  6.   }  
  7. });  
  8. jQuery.extend({  
  9.   /** * @see 將javascript數據類型轉換為json字符串 * @param 待轉換對象,支持object,array,string,function,number,boolean,regexp * @return 返回json字符串 */  
  10.   toJSON: function(object) {  
  11.     var type = typeof object;  
  12.     if ('object' == type) {  
  13.       if (Array == object.constructor) type = 'array';  
  14.       else if (RegExp == object.constructor) type = 'regexp';  
  15.       else type = 'object';  
  16.     }  
  17.     switch (type) {  
  18.     case 'undefined':  
  19.     case 'unknown':  
  20.       return;  
  21.       break;  
  22.     case 'function':  
  23.     case 'boolean':  
  24.     case 'regexp':  
  25.       return object.toString();  
  26.       break;  
  27.     case 'number':  
  28.       return isFinite(object) ? object.toString() : 'null';  
  29.       break;  
  30.     case 'string':  
  31.       return '"' + object.replace(/(\\|\")/g, "\\$1").replace(/\n|\r|\t/g, function() {  
  32.         var a = arguments[0];  
  33.         return (a == '\n') ? '\\n': (a == '\r') ? '\\r': (a == '\t') ? '\\t': ""  
  34.       }) + '"';  
  35.       break;  
  36.     case 'object':  
  37.       if (object === null) return 'null';  
  38.       var results = [];  
  39.       for (var property in object) {  
  40.         var value = jQuery.toJSON(object[property]);  
  41.         if (value !== undefined) results.push(jQuery.toJSON(property) + ':' + value);  
  42.       }  
  43.       return '{' + results.join(',') + '}';  
  44.       break;  
  45.     case 'array':  
  46.       var results = [];  
  47.       for (var i = 0; i < object.length; i++) {  
  48.         var value = jQuery.toJSON(object[i]);  
  49.         if (value !== undefined) results.push(value);  
  50.       }  
  51.       return '[' + results.join(',') + ']';  
  52.       break;  
  53.     }  
  54.   }  
  55. });示例:  
  56. var obj = {  
  57.   name: "sean",  
  58.   friend: ["fans", "bruce", "wawa"],  
  59.   action: function() {  
  60.     alert("gogogog")  
  61.   },  
  62.   boy: true,  
  63.   age: 26,  
  64.   reg: /\b([a-z]+) \1\b/gi,  
  65.   child: {  
  66.     name: "none",  
  67.     age: -1  
  68.   }  
  69. };  
  70. var json = $.toJSON(obj);  
  71. var objx = $.evalJSON(json); 
責任編輯:chenqingxiang 來源: 計世網
相關推薦

2010-01-21 09:46:24

C++程序

2010-01-06 15:35:06

JSON對象

2010-01-21 14:51:02

C++函數指針

2009-12-21 13:51:54

ADO.NET處理

2010-03-10 13:55:35

交換機故障

2010-02-23 14:19:30

Python目錄操作

2010-03-01 18:13:22

Python程序

2010-03-04 10:01:01

Android基本組件

2013-07-02 09:58:38

ClojureClojure教程

2016-09-30 15:13:01

Python代碼

2010-01-12 10:28:58

C++復雜性

2010-01-12 18:20:31

Visual C++

2009-12-29 09:01:46

ADSL斷線

2017-08-03 17:30:26

戴爾IoT設備

2009-11-25 17:22:12

路由器安裝

2024-04-19 09:37:49

Ollama大語言模型開源

2024-12-03 15:38:14

2021-12-02 11:54:10

云計算云錯誤配置網絡安全

2022-03-28 08:00:00

數據庫GraphQL公共云

2009-11-30 13:27:12

Visual Stud
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品一区二区三区视频在线观看 | 视频一区二区三区中文字幕 | 91国产精品 | 精品国产乱码一区二区三区a | 黄色在线免费观看视频 | 精品国产乱码一区二区三 | 国产精品久久久久久久久久久久久 | 亚洲成人精选 | 免费观看黄色片视频 | 国产精品第2页 | 成人亚洲视频 | 国产高清精品一区 | 天天操天天舔 | 久久久久一区二区三区四区 | 男女视频在线观看网站 | 欧美精品一区二区三区四区五区 | 国产精品久久久久久久久久久免费看 | 一区二区三区视频在线观看 | 午夜噜噜噜| 一区二区三区四区在线播放 | 在线看亚洲| 久久国产婷婷国产香蕉 | 人人天天操 | 一区精品在线观看 | 精品亚洲一区二区三区四区五区 | 欧美一区免费 | 久久国| 中文字幕精品视频 | 国产精品国产馆在线真实露脸 | 亚洲第一色av | 国产丝袜一区二区三区免费视频 | 2021天天干夜夜爽 | 国产清纯白嫩初高生视频在线观看 | 五月天婷婷综合 | 久久国产视频播放 | 成人免费视频网站在线看 | 久久综合九九 | 国产高清在线精品一区二区三区 | 一级a爱片性色毛片免费 | 一区二区三区视频在线免费观看 | 欧美国产日韩一区 |