jQuery的核心
来源:互联网 发布:python ide eclipse 编辑:程序博客网 时间:2024/06/07 02:05
1. jQuery中each方法的应用
jQuery中有个很重要的核心方法each,大部分jQuery方法在内部都会调用each,其主要的原因的就是jQuery的实例是一个元素合集。
如下:找到所有的div,并且都设置样式,css只是一个方法,所以内部会调用each处理这个div的合集,给每个div都设置style属性:
$('div').css(...)
jQuery的大部分方法都是针元素合集的操作,所以jQuery会提供$(selector).each()来遍历jQuery对象。
.each只是处理jQuery对象的方法,jQuery还提供了一个通用的jQuery.each方法,用来处理对象和数组的遍历
语法
jQuery.each(array, callback )
jQuery.each( object, callback )
第一个参数传递的就是一个对象或者数组,第二个是回调函数。
$.each(["Aaron", "慕课网"],function(index, value) {
//index是索引,也就是数组的索引
//value就是数组中的值了
});
each就是for循环方法的一个包装,内部就是通过for遍历数组与对象,通过回调函数返回内部迭代的一些参数,第一个参数是当前迭代成员在对象或数组中的索引值(从0开始计数),第二个参数是当前迭代成员(与this的引用相同)。
jQuery.each()函数还会根据每次调用函数callback的返回值来决定后续动作。如果返回值为false,则停止循环(相当于普通循环中的break);如果返回其他任何值,均表示继续执行下一个循环。
$.each(["Aaron", "慕课网"],function(index, value) {
return false; //停止迭代
});
jQuery方法可以很方便的遍历一个数据,不需要考虑这个数据是对象还是数组。
2. jQuery中查找数组中的索引inArray
在PHP有in_array()判断某个元素是否存在数组中,JavaScript却没有,但是jQuery封装了inArray()函数判断元素是否存在数组中。注意了:在ECMAScript5已经有数据的indexOf方法支持了,但是jQuery保持了版本向下兼容,所以封装了一个inArray方法。
jQuery.inArray()函数用于在数组中搜索指定的值,并返回其索引值。如果数组中不存在该值,则返回 -1。
语法:
jQuery.inArray(value, array ,[ fromIndex ] )
用法非常简单,传递一个检测的目标值,然后传递原始的数组,可以通过fromIndex规定查找的起始值,默认数组是0开始。
例如:在数组中查找值是5的索引
$.inArray(5,[1,2,3,4,5,6,7])//返回对应的索引:4
注意:
如果要判断数组中是否存在指定值,你需要通过该函数的返回值不等于(或大于)-1来进行判断。
3. jQuery中去空格神器trim方法
页面中,通过input可以获取用户的输入值,例如常见的登录信息的提交处理。用户的输入不一定是标准的,输入一段密码:“1123456 ”,注意了:密码的前后会留空,这可能是用户的无心的行为,但是密码确实又没错,针对这样的行为,开发者应该要判断输入值的前后是否有空白符、换行符、制表符这样明显的无意义的输入值。
jQuery.trim()函数用于去除字符串两端的空白字符。
这个函数很简单,没有多余的参数用法。
需要注意:
(1)移除字符串开始和结尾处的所有换行符,空格(包括连续的空格)和制表符(tab);
(2)如果这些空白字符在字符串中间时,它们将被保留,不会被移除。
4. jQuery中DOM元素的获取get方法
jQuery是一个合集对象,如果需要单独操作合集中的的某一个元素,可以通过.get()方法获取到。
以下有3个a元素结构:
<a>1</a>
<a>2</a>
<a>3</a>
通过jQuery获取所有的a元素合集$("a"),如果想进一步在合集中找到第二2个dom元素单独处理,可以通过get方法。
语法:
.get( [index ] )
注意2点:
(1)get方法是获取的dom对象,也就是通过document.getElementById获取的对象。
(2)get方法是从0开始索引。
所以第二个a元素的查找: $(a).get(1)
负索引值参数
get方法还可以从后往前索引,传递一个负索引值,注意负值的索引起始值是-1。
同样是找到第二元素,可以传递 $(a).get(-2) 。
5. jQuery中DOM元素的获取index方法
get方法是通过已知的索引在合集中找到对应的元素。如果反过来,已知元素如何在合集中找到对应的索引呢?
.index()方法:从匹配的元素中搜索给定元素的索引值,从0开始计数。
语法:参数接受一个jQuery或者dom对象作为查找的条件。
.index()
.index( selector )
.index( element )
(1)如果不传递任何参数给 .index() 方法,则返回值就是jQuery对象中第一个元素相对于它同辈元素的位置;
(2)如果在一组元素上调用 .index() ,并且参数是一个DOM元素或jQuery对象, .index() 返回值就是传入的元素相对于原先集合的位置;
(3)如果参数是一个选择器, .index() 返回值就是原先元素相对于选择器匹配元素的位置。如果找不到匹配的元素,则 .index() 返回 -1。
简单来说:
<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
附:以上内容整理自慕课网
- jQuery的核心函数
- jQuery的核心思想
- jQuery的核心
- jQuery的核心及工具
- jQuery 核心
- jQuery核心
- jQuery 核心
- jQuery核心
- jQuery 核心
- jQuery 核心
- jQuery 核心
- Jquery的学习(二)基础核心
- jquery的核心知识(一)
- jQuery - Core核心 - jQuery
- jQuery 核心 - jQuery() 方法
- jQuery 核心 - jQuery() 方法
- jQuery 核心 - jQuery() 方法
- jQuery 核心函数:jQuery([selector,[context]])最基础的函数
- LintCode 71 二叉树的锯齿形层次遍历
- JS时间处理由CST格式转成GMT格式时间
- java5、java6、java7、java8的新特性
- mysql json字段的使用与意义
- 【c++】size_t 和 size_type的区别
- jQuery的核心
- js 原生预览图片
- 适配器模式
- Thinking In Java学习进程---对象的入门1.3 实现方案的隐藏
- Hibernate之连接池配置
- 前端技术博客
- linux exercise14
- LTE-TDD随机接入过程(6)-分场景描述竞争接入和非竞争接入的流程
- 【机器学习PAI实践五】机器学习眼中的《人民的名义》