本文實例總結了jQuery常用數據處理方法。分享給大家供大家參考。具體如下:
$.trim():刪除字符串前後的空白字符。
var str = ' 薯條 '; var formatStr = $.trim(str); //'薯條'
$.param():數組或者對象序列化。
var obj = { name: 'dog', count: 10 }; var str = $.param(obj); //"name=dog&count=10"
$.isArray():檢測是否為數組。
$.isFunction():檢測是否為函數類型。
$.each(obj, [callback]):遍歷數組或者集合對象。obj是要遍歷的集合對象,callback表示回調函數,該函數將在遍歷每個成員時出發。回調函數包含兩個參數,第一個參數為對象成員或數組的索引,第二個參數為對應的值。
var a = [x,y,z]; $.each(a, function(index, value) { console.log(index); //0,1,2 console.log(value); //x,y,z }); var b = {x:1, y:2, z:3}; $.each(b, function(key, value)) { console.log(key); //x,y,z console.log(value); //1,2,3 }
說明:如果中途要退出each()循環,可以在回調函數中返回false,其他返回值將被忽略。
$.each()和$(selector).each()功能相同,但$.each()可以遍歷任何對象或數組,而$(selector).each()只能遍歷當前選擇器選擇的jQuery對象。
$.makeArray():把類數組對象轉換為數組對象。所謂類數組對象,就是擁有length屬性,索引從0到length-1。但是這些對象不能夠調用數組方法。
var arr = $.makeArray($('li')); //類數組對象轉換為數組 $('ul').html(arr.reverse()); //可以調用數組的reverse()方法了
$.grep():根據過濾函數過濾掉數組中不符合條件的元素。
$.grep(array, callback, [invert]);
說明:參數array表示要過濾的數組,callback表示過濾函數。如果過濾函數返回true,則保留元素,如果過濾函數返回false,則刪除元素。參數invert,可選,如果為false或者沒有設置,則返回數組中由過濾函數返回true的元素;如果該參數為true,則返回過濾函數中返回false的元素。
var a = [1,2,3,4,5]; a = $.grep(a, function(value, index)) { return value > 3; //a現在為[4,5] }); var b = [1,2,3,4,5]; b = $.grep(b, function(value, index)) { return value > 3; //b現在為[1,2,3] }, true);
$.map():映射數組。
$.map(array, callback);
var a = [1,2,3,4]; a = $.map(a, function(elem)) { return elem * 2; //a現在為[2,4,6,8] });
$.merge():合並數組。
說明:接受兩個數組參數。
var a = [1,2,3]; var b = [4,5]; var c = $.merge(a,b); //c為[1,2,3,4,5];
$.unique():刪除DOM元素數組中的重復項。
... <a id="1" class="link link1"></a> <a id="2" class="link"></a> <a id="3" class="link"></a> ... var $link = $('.link'); //包含#1,#2,#3 var $firstLink = $('.link1'); //包含#1 var $links = $.merge($link, $firstLink); //包含#1,#2,#3,#1 var $linkList = $.unique($link); //包含#1,#2,#3
說明:只能處理DOM元素數組,不能處理字符串或者JavaScript數組。
希望本文所述對大家的jQuery程序設計有所幫助。