jQuery中有个很重要的核心方法each,大部分jQuery方法在内部都会调用each,其主要的缘由的就是jQuery的实例是一个元素合集css
以下:找到全部的div,而且都设置样式,css只是一个方法,因此内部会调用each处理这个div的合集,给每一个div都设置style属性数组
$('div').css(...)
jQuery的大部分方法都是针元素合集的操做,因此jQuery会提供$(selector).each()来遍历jQuery对象dom
.each只是处理jQuery对象的方法,jQuery还提供了一个通用的jQuery.each方法,用来处理对象和数组的遍历函数
语法this
jQuery.each(array, callback ) jQuery.each( object, callback )
第一个参数传递的就是一个对象或者数组,第二个是回调函数spa
$.each(["Aaron", "慕课网"], function(index, value) { //index是索引,也就是数组的索引 //value就是数组中的值了 });
each就是for循环方法的一个包装,内部就是经过for遍历数组与对象,经过回调函数返回内部迭代的一些参数,第一个参数是当前迭代成员在对象或数组中的索引值(从0开始计数),第二个参数是当前迭代成员(与this的引用相同code
jQuery.each()函数还会根据每次调用函数callback的返回值来决定后续动做。若是返回值为false,则中止循环(至关于普通循环中的break);若是返回其余任何值,均表示继续执行下一个循环。对象
$.each(["Aaron", "慕课网"], function(index, value) { return false; //中止迭代 });
jQuery方法能够很方便的遍历一个数据,不须要考虑这个数据是对象仍是数组索引
在PHP有in_array()判断某个元素是否存在数组中,JavaScript却没有,可是jQuery封装了inArray()函数判断元素是否存在数组中。注意了:在ECMAScript5已经有数据的indexOf方法支持了,可是jQuery保持了版本向下兼容,因此封装了一个inArray方法ip
jQuery.inArray()函数用于在数组中搜索指定的值,并返回其索引值。若是数组中不存在该值,则返回 -1。
语法:
jQuery.inArray( value, array ,[ fromIndex ] )
用法很是简单,传递一个检测的目标值,而后传递原始的数组,能够经过fromIndex规定查找的起始值,默认数组是0开始
例如:在数组中查找值是5的索引
$.inArray(5,[1,2,3,4,5,6,7]) //返回对应的索引:4
注意:
若是要判断数组中是否存在指定值,你须要经过该函数的返回值不等于(或大于)-1来进行判断
页面中,经过input能够获取用户的输入值,例如常见的登陆信息的提交处理。用户的输入不必定是标准的,输入一段密码:' 1123456 ",注意了: 密码的先后会留空,这多是用户的无意的行为,可是密码确实又没错,针对这样的行为,开发者应该要判断输入值的先后是否有空白符、换行符、制表符这样明显的无心义的输入值。
jQuery.trim()函数用于去除字符串两端的空白字符
这个函数很简单,没有多余的参数用法
须要注意:
jQuery是一个合集对象,若是须要单独操做合集中的的某一个元素,能够经过.get()方法获取到
如下有3个a元素结构:
<a>1</a> <a>2</a> <a>3</a>
经过jQuery获取全部的a元素合集$("a"),若是想进一步在合集中找到第二2个dom元素单独处理,能够经过get方法
语法:
.get( [index ] )
注意2点
因此第二个a元素的查找: $(a).get(1)
负索引值参数
get方法还能够从后往前索引,传递一个负索引值,注意的负值的索引发始值是-1
一样是找到第二元素,能够传递 $(a).get(-2)
get方法是经过已知的索引在合集中找到对应的元素。若是反过来,已知元素如何在合集中找到对应的索引呢?
.index()方法,从匹配的元素中搜索给定元素的索引值,从0开始计数。
语法:参数接受一个jQuery或者dom对象做为查找的条件
.index() .index( selector ) .index( element )
简单来讲:
<ul> <a></a> <li id="test1">1</li> <li id="test2">2</li> <li id="test3">3</li> </ul>
$("li").index() 没有传递参数,反正的结果是1,它的意思是返回同辈的排列循序,第一个li以前有a元素,同辈元素是a开始为0,因此li的开始索引是1
若是要快速找到第二个li在列表中的索引,能够经过以下2种方式处理
$("li").index(document.getElementById("test2")) //结果:1
$("li").index($("#test2")) //结果:1