jQuery中间each实施例的方法
$.each()和$(selector).each()很阶段似,但它是不一样的。
前者可用于遍历数组或json对象
后者被设计成遍历jQuery对象
第一个是$.each()对,通常这么用
$.each(arr, function(i, v){
// do something
})
当中arr也就是集合,也能够是json对象
而回调函数中的i则是数组的下标(在json中则是相应的key)
而v则是arr[i]的值(在json中则是相应的value)
以下来看一个简单的实例:
var json = {name:"zhu", age:10}
var arr = ['a','b','c','d']
$.each(arr, function(i, v){
alert(i + ":" + v)
});
$.each(json, function(k, v){
alert(k + ":" + v)
});
这样就完毕了对数组和json的遍历。
当然了,如此遍历用原生的js也是能够轻松做到的
比方遍历上面的json或是arr,仅仅须要:
for(var k in json){
alert(k + ":" + arr[k])
}
看起来似乎还是js更简洁一些吧~性能上可能也要好一点
以下介绍$(selector).each()。这种方法在js中就不好找到替代品了。
当中$(selector)负责选中一组jQuery元素,而each函数负责遍历它
比方我们想对一组“li”改变其文字颜色
<style>
.red{
color: red;
}
</style>
<ul>
<li>Dog</li>
<li>Cat</li>
<li>Mouse</li>
</ul>
<input type="button" id="btn">
<script>
$("#btn").click(function() {
$("li").each(function() {
$(this).toggleClass('red');
});
});
</script>
只是实际上,jQuery中存在隐式迭代的现象
每当我们调用选择器方法查找dom树里的元素时,事实上就是把找到的dom元素存入一个jQuery对象里的dom数组中,然后再把这个jQuery对象返回。
而所谓隐式迭代也就是当我们调用jQuery方法时(如 toggleClass(..))。jQuery方法会遍历内部 dom数组。并调用每一个dom元素的相应的dom属性或方法完毕操作。
全部click中的函数并不须要使用each,直接$("li").toggleClass('red')也能够
在$(seletor).each(..)中。this被绑定到了当前遍历的DOM对象,如需获得jQuery对象$(this)就能够了
值得需要注意的是,提前退场遍历时,也可以遍历,只需要return false在上面
版权声明:本文博客原创文章,博客,未经同意,不得转载。
jQuery中间each实施例的方法的更多相关文章
- Jquery jqXHR对象的属性和方法
在 jQuery 1.4 之前(包括1.4),$.ajax() 方法返回的是浏览器原生的 XMLHttpRequest 对象. 从 jQuery 1.5 开始,$.ajax() 方法返回 jQuery ...
- jquery数组删除指定元素的方法:grep()
jquery数组删除指定元素的方法:grep() 金刚 数组 jquery javascript 元素 遇到的问题 今天遇到一个问题,删除数组中的一个指定元素,并返回新的数组. 我定义的js数组是这样 ...
- JQuery中操作Css样式的方法
JQuery中操作Css样式的方法//1.获取和设置样式 $("#tow").attr("class")获取ID为tow的class属性 $("#tw ...
- jquery ajax success 函数 异步调用方法中不能给全局变量赋值的原因及解决办法
jquery ajax success 函数 异步调用方法中不能给全局变量赋值的原因及解决办法 在调用一个jquery的ajax方法时我们有时会需要该方法返回一个值或者给某个全局变量赋值,可是我们 ...
- jquery里面的名称冲突解决方法
jQuery 使用 $ 符号作为 jQuery 的简介方式. 某些其他 JavaScript 库中的函数(比如 Prototype)同样使用 $ 符号. jQuery 使用名为 noConflict( ...
- jQuery ajax Load关闭缓存的方法
[导读] 在jQuery ajax Load关闭缓存的方法很简单,我们只要在$ ajaxSetup中把cache: false就楞以了,当然我们还可以使用一个随机参数来实例了.简单介绍load(url ...
- (转载) jQuery 页面加载初始化的方法有3种
jQuery 页面加载初始化的方法有3种 ,页面在加载的时候都会执行脚本,应该没什么区别,主要看习惯吧,本人觉得第二种方法最好,比较简洁. 第一种: $(document).ready(functio ...
- 浅析jQuery中常用的元素查找方法总结
本篇文章是对jQuery中常用的元素查找方法进行了详细的总结和介绍,需要的朋友参考下 $("#myELement") 选择id值等于myElement的元素,id值不能重复在文 ...
- jquery文字上下滚动的实现方法
jquery实现文字上下滚动的方法. 代码: //上下滚动var textRoll=function(){$('#notice p:last').css({'height':'0px','opacit ...
随机推荐
- c#(winform,webform通用)利用npoi将xls文件复制为xlsx文件(excel的修改,保存,包括excel2003-office2007+的处理)
1.程序界面 每次需要处理excel文件的时候,都是去百度找方案,真是气一头火,今天好好总结一下,下次就不用度娘了. 我是用winform来试验的,因为winform比较方便测试,实际上只要是在.ne ...
- redis 获取key 过期时间
<pre name="code" class="html">127.0.0.1:6379> keys *b4f107c6-e96c-4a1e- ...
- meminfo,df,
yx100:root@yxRouter:/# cat /proc/meminfoMemTotal: 126584 kBMemFree: 103156 kBBuffer ...
- 在JAVA中开发应用之html5离线应用
1.环境搭建(Tomcat为例): 在Tomcat中的conf配置文件中web.xml中添加离线配置: <!--HTML5--> <mime-mapping> <ext ...
- [Java][Android][Process] ProcessBuilder与Runtime差别
在Android中想要进行Ping,在不Root机器的情况下似乎还仅仅能进行底层命调用才干实现. 由于在Java中要进行ICMP包发送须要Root权限. 于是仅仅能通过创建进程来攻克了.创建进程在Ja ...
- 原型链(__proto__)
前面详细的解释了new的几个步骤,其中随意带过了一下原型链的概念,如果细读那篇文章,基本对原型也能有所理解. 原型有两个关键属性,一个是 __proto__ 一个是 prototype ,了解了这两个 ...
- minidump详细介绍
Effective minidump 简介 在过去几年里,崩溃转储(crash dump)成为了调试工作的一个重要部分.如果软件在客户现场或者测试实验室发生故障,最有价值的解决方式是能够创建一个故障瞬 ...
- linux 下opensplice的简易安装
http://www.prismtech.com/opensplice/opensplice-dds-community/software-downloads 下载对应我选择的是: OpenSplic ...
- AMFPHP1.4与PHP5.3及以上版本号不兼容问题的解决
近期在升级PHP5.4版本号,AMFPHP出现了兼容性问题.解决过程记录例如以下. 1.ereg类相关函数改动为preg相关函数. 2.通过错误日志输出的提示.将全部以静态方式调用的类函数加入stat ...
- EA强大功能之代码凝视
前面讲了EA怎样方便我们生成代码,这次讲一下,怎样生成具体的凝视. 1.文件表头凝视 (1)点击工具----选项 在常规项里改动作者: 在代码project中改动代码project的默认语言. (2) ...