jQuery 中 jQuery.map() 和 jQuery.each() 函数之间的区别是什么?
jQuery map 函数
map 方法会将 jQuery 对象中的一组元素转换为 jQuery 数组中另一个可能包含元素或不包含元素的值集。
例
你可以尝试运行以下代码来学习如何使用 jQuery.map() 方法
<html> <head> <title>jQuery Map Method</title> <script src = "https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <script> $(document).ready(function(){ var mappedItems = $("li").map(function (index) { var replacement = $("<li>").text($(this).text()).get(0); if (index == 0) { // make the first item all caps $(replacement).text($(replacement).text().toUpperCase()); } else if (index == 1 || index == 3) { // delete the second and fourth items replacement = null; } else if (index == 2) { // make two of the third item and add some text replacement = [replacement,$("<li>").get(0)]; $(replacement[0]).append("<b> - A</b>"); $(replacement[1]).append("Extra <b> - B</b>"); } // replacement will be an dom element, null, // or an array of dom elements return replacement; }); $("#results").append(mappedItems); }); </script> <style> body { font-size:16px; } ul { float:left; margin:0 30px; color:blue; } #results { color:red; } </style> </head> <body> <ul> <li>First</li> <li>Second</li> <li>Third</li> <li>Fourth</li> <li>Fifth</li> </ul> <ul id = "results"> </ul> </body> </html>
jQuery each 函数
each() 方法是一个针对每个相匹配的元素运行的函数。
例
你可以尝试运行以下代码来学习如何使用 jQuery 中的每个函数
<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <script> $(document).ready(function(){ $("button").click(function(){ $("li").each(function(){ alert($(this).text()) }); }); }); </script> </head> <body> <button>Value</button> <ol> <li>India</li> <li>US</li> <li>UK</li> </ol> </body> </html>
广告