閱讀261 返回首頁    go 魔獸


jQuery內置函數map和each的用法


$.map的運用

var arr1 = [0, 3, 5];
var arr2 = $.map(arr1, function (item) { return item * 2 });
alert(arr2);

結果:0 6 10

 


$.each的運用

 

普通數組
var arr1 = [0, 3, 5];

$.each(arr1,function (i) {

alert(arr1[i]);

});

結果:0,3,5

 

 

json對象

var jsonData = {"tom": 20, "jerry": 21 };

$.each(jsonData,function (key, value) {

     alert(key + "_" + value);
});

結果:tom_20, jerry_21

 

$.each(jsonData,function (i) {

     alert(jsonData[i]);

});

結果:20,21

 

 

json對象數組($.getJSON裏麵常用)

var jsonArray = [ { "tom": 20, "jerry": 21 }, { "tom": 22,"jerry": 23} ];

$.each(jsonArray,function (i) {

  alert(jsonArray[i].tom);

});

結果:20,22

 

 

看$.getJSON的一處應用:

$.getJSON(
    "stu/stu_toshowStu",
     {classNum:classNum},
     function(json,status)
    {
     $.each(json,function(i){
      $('#stuDiv').append("<div>學生學號:"+json[i].num+"</div>");
     }
   );
  });


jQuery對象可以直接調用each:

$("input").each(function(){

   $(this).val()........

});

each處理dom元素,此處以一個input表單元素作為例子。

<input name="aaa" type="hidden" value="111" />
<input name="bbb" type="hidden" value="222" />
<input name="ccc" type="hidden" value="333" />
<input name="ddd" type="hidden"  value="444"/>

$.each($("input:hidden"), function(i,element){  
     alert(val);
     alert(i);
     alert(element.name);
     alert(element.value);   
 });  

alert(element)將輸出[object HTMLInputElement],是一個表單元素
alert(i);將輸出為0,1,2,3
alert(element.name);將輸出aaa,bbb,ccc,ddd,若使用this.name將輸出同樣的結果
alert(element.value);將輸出111,222,333,444,若使用this.value將輸出同樣的結果
 
$("input:hidden").each(function(i,element){
    alert(i);
    alert(element.name);
    alert(element.value);       
});

輸出結果相同

當然比如$("input").css()等封裝好的操作自動有一個遍曆,就不需要手動遍曆了。

 

最後更新:2017-04-02 22:16:40

  上一篇:go jQuery中return false,e.preventDefault(),e.stopPropagation()的區別
  下一篇:go java反射2——Class類實例化的三種方法