一. jQuery映射
通常情况下,映射是指两个元素集合之间元素相互”对应“的关系,实际上映射是一种间接引用。map()方法通过映射关系,把jQuery对象中每个元素映射到一个数组中,也就是说将一组元素转换成其他数组(不论是否是元素数组)。具体用法如下:
map(callback)
参数
callback表示一个回调函数,将给每个元素执行的函数。用户可以用这个函数来建立一个列表,不论是值、属性还是css样式,都可以用$.map()方法来建立
代码示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>jQuery map demo</title>
</head>
<body>
<p><b>注册信息:</b></p>
<form>
<input type="text" name="name" value="用户名" />
<input type="text" name="password" value="密码" />
<input type="text" name="url" value="http://blog.csdn.net/u012769750" />
</form>
</body>
<script type="text/javascript" src="jquery-2.1.1.min.js"></script>
<script type="text/javascript">
$(function(){
$("p").append($("input").map(function(){
return $(this).val();
}).get().join("、"));
})
</script>
</html>
二. 缓存jQuery对象
jQuery选择器的应用优化主要有以下几点:
(1)多用ID选择器
(2)少直接使用Class选择器
(3)多用父子关系,少用嵌套关系
(4)缓存jQuery对象:如果选出结果不发生变化的话,不妨缓存jQuery对象,这样就可以提高系统性能,养成缓存jQuery对象的习惯,可以让用户在不经意间就能够完成主要的性能优化
例如,下面的用法是低效的:
for(i=0; i<100; i++)...{
var myList = $('.myList');
myList.append(i);
}
而使用下面的方法先缓存jQuery对象,执行效率就会大大提高:
var myList = $('.myList');
for(i=0; i<100; i++)...{
myList.append(i);
}