用法:1、用於將元素透過函數傳遞到集合中,產生新的jQuery對象,語法為「.map(callback(index,domElement))」;2、用於處理陣列中的元素並將結果封裝為新陣列傳回,語法為「$.map(陣列或物件,指定函數)」。
本教學操作環境:windows10系統、jquery3.2.1版本、Dell G3電腦。
1、map() 把每個元素透過函數傳遞到目前符合集合中,產生包含傳回值的新的 jQuery 物件。
語法
.map(callback(index,domElement))
callback(index,domElement) 對目前集合中的每個元素呼叫的函數物件。
由於傳回值是 jQuery 封裝的數組,使用 get() 來處理傳回的物件以獲得基礎的陣列。
範例如下:
<!DOCTYPE html> <html> <head> <style>p { color:red; }</style> <script type="text/javascript" src="/jquery/jquery.js"></script> </head> <body> <p><b>Values: </b></p> <form> <input type="text" name="name" value="John"/> <input type="text" name="password" value="password"/> <input type="text" name="url" value="http://php.cn/"/> </form> <script> $("p").append( $("input").map(function(){ return $(this).val(); }).get().join(", ") ); </script> </body> </html>
輸出結果:
#2、$.map() 函數用來使用指定函數處理陣列中的每個元素(或物件的每個屬性),並將處理結果封裝為新的陣列傳回。
在jQuery 1.6 之前,函數只支援遍歷陣列;從 1.6 開始,函數也支援遍歷物件。
map()也會為函數傳入兩個參數:其一是目前迭代的元素或屬性值,其二是目前迭代項目的陣列索引或物件屬性名稱。
此函數傳回值將會作為結果陣列中的一個元素,如果傳回值為null或undefined,則不會加入結果陣列。
$.map( object, callback )
object Array/Object類型 指定的需要處理的陣列或物件。
callback Function類型 指定的處理函數。
範例如下:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>123</title> <style> div { color:blue; } p { color:green; margin:0; } span { color:red; } </style> <script src="js/jquery.min.js"></script> </head> <body> <div></div> <p></p> <span></span> <script> $(function () { var arr = [ "a", "b", "c", "d", "e" ]; $("div").text(arr.join(", ")); arr = $.map(arr, function(n, i){ return (n.toUpperCase() + i); }); $("p").text(arr.join(", ")); arr = $.map(arr, function (a) { return a + a; }); $("span").text(arr.join(", ")); }) </script> </body> </html>
輸出結果:
#相關影片教學推薦:jQuery影片教學
以上是map在jquery的用法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!