- 浏览: 883087 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (341)
- Ajax (1)
- Asp.net (18)
- Java (5)
- Php (27)
- JavaScript (19)
- jQuery (12)
- 正则表达式 (4)
- SEO优化 (1)
- Windows 应用 (5)
- Flash (12)
- Asp (9)
- CSS (10)
- SQL Server (6)
- Flex (1)
- Ubuntu (0)
- mysql (34)
- PHP框架 (2)
- Apache (10)
- html (3)
- 网页切入 (1)
- Linux (33)
- vc++ (38)
- 友情链接 (0)
- firefox 插件 (4)
- SEO (1)
- Apache 压力测试 (1)
- imacros教程(一):imacros变量 (0)
- JS调用imacros所用到的函数 (0)
- imacros教程(三):调用csv文件 (1)
- imacros教程(二):JS调用imacros所用到的函数 (1)
- imacros 常用代码 (1)
- CSS最大宽度 (1)
- svn (1)
- WordPress (1)
- 网线的两种接法 (1)
- TP-LINK WR 系列无线路由器安全设置 (1)
- mysql talble is full ERR1114 (0)
- 解决mysql的内存表“table is full”错误 (1)
- linux 用户操作 (1)
- CentOS 挂载 ntfs 移动硬盘 (1)
- linux 储蓄设备操作 (1)
- Starting MySQL. ERROR! Manager of pid-file quit without updating file. (1)
- extmail 1.1 升级到 1.2 (1)
- extmail (0)
- emos (2)
- squid 3.0 (2)
- centos 6 minimal 安装 (1)
- linux实用命令详解 (1)
- win7 (1)
- php 字符串大小写转换 (1)
- 跟踪路由 tracert (1)
- css英文单词首字母添加样式 (1)
- jquery iframe 操作 (1)
- php 获取时间今天明天昨天时间戳 (1)
- php 上传限制 (1)
- ckeditor 配置 (1)
- flash 显示在 div 下 (1)
- flash + php 留言本乱码问题 (1)
- squid purge 出现 access denied 的解决方法 (1)
- delphi (1)
- 让delphi嵌入的WebBrowser无边框无滚动条 (1)
- delphi打开一个IE窗口 (1)
- delphi 获取鼠标当前位置的相对坐标 (1)
- delphi 获取可执行文件的当前路径 (1)
- delphi webbrowser 常用方法示例 (1)
- javascript 禁止鼠标右键... (1)
- delphi 播放gif 动画 (1)
- delphi弹出信息框大全 (1)
- Delphi中禁止WebBrowser右键的方法 (1)
- DELPHI 让程序只能运行一次 (1)
- Delphi XE2 破解补丁注册机下载使用教程 (1)
- Delphi RAD Studio XE2编译程序体积大的问题 (1)
- delphi 制作圆角窗口 (1)
- delphi 窗口 (1)
- delphi 窗体全透明,但窗体上的控件不透明 (1)
- delphi 窗口阴影 (1)
- delphi 获取任务栏高度 (1)
- delphi bsNone 之后任务栏右键无反应 (1)
- delphi 程序打开隐藏软件任务栏条 (0)
- delphi bsNone后的相关问题解决方法 (1)
- delphi bsNone 后显示边框 (1)
- delphi url编码操作 (1)
- delphi 调用exe文件 (1)
- delphi dll窗体的制作和调用 (1)
- delphi dll 调用窗体时的数据传递 (0)
- delphi 窗口显示在屏幕右下角 (1)
- 内网穿透&UDP打洞 (1)
- delphi idhttp post应用 (1)
- inno setup 开机启动 (1)
- inno setup 添加桌面快捷方式 (1)
- Delphi实现程序只运行一次并激活已打开的程序 (1)
- 解决 float point division by zero (1)
- Delphi 窗体显示在最前面,并获得焦点 (1)
- delphi 点击关闭按钮时隐藏窗口 (1)
- delphi 非客户区右键点击 (1)
- delphi真正可以截获WINDOWS关机消息的源码 (1)
- delphi utf8转码 (1)
最新评论
-
zj7243886:
非常感谢,这东西解决我的问题;谢谢你的分享
Linux 安装 jpeg-6b 错误 ./libtool 命令未找到 -
丶Sk.Mabon:
能让html也绕过吗。。机房限制很悲剧
绕过 <?PHP exit(’Access Denied’); ?> 限制 -
丶Sk.Mabon:
请教gzip.php 的写法。万分感谢!
apache 开启 gzip -
hyxj1220:
火狐中单纯的定义这样的样式,貌似不行,必须要让容器浮动
英文长文本换行CSS -
逆水寒龙:
太好了,正好用上,谢谢博主共享
Asp.net 将中文汉字转换成拼音首字和拼音全拼
jQuery的数组处理,便捷,功能齐全. 最近的项目中用到的比较多,深感实用,一步到位的封装了很多原生js数组不能企及的功能. 最近时间紧迫,今天抽了些时间回过头来看 jQuery中文文档 中对数组的介绍,顺便对jQuery数组做个总结.温故,知新. 相对于原生的for..in,each更强壮一点. for..in也可以遍历数组,并返回对应索引,但值是需要通过arrName[key]来获取; 3. $.map(array,[callback])按给定条件转换数组 [一般] 4 .$.inArray(val,array)判断值是否存在于数组中[常用] 5 .$.merge(first,second)合并两个数组[一般] 6 .$.unique(array)过滤数组中重复元素[不常用] 7. $.makeArray(obj) 将类数组对象转换为数组[不常用] 8. $(dom).toArray()将所有DOM元素恢复成数组[不常用]
强烈建议你打开DEMO演示后再看下面的详解: 点此查看DEMO
1. $.each(array, [callback]) 遍历[常用]
解释: 不同于例遍 jQuery 对象的 $.each() 方法,此方法可用于例遍任何对象(不仅仅是数组哦~). 回调函数拥有两个参数:第一个为对象的成员或数组的索引, 第二个为对应变量或内容. 如果需要退出 each 循环可使回调函数返回 false, 其它返回值将被忽略.
each遍历,相信都不陌生,在平常的事件处理中,是for循环的变体,但比for循环强大.在数组中,它可以轻松的攻取数组索引及对应的值.例:
1
var
_mozi=[
'墨家'
,
'墨子'
,
'墨翟'
,
'兼爱非攻'
,
'尚同尚贤'
];
//本文所用到的数组, 下同
2
$.each(_mozi,
function
(key,val){
3
//回调函数有两个参数,第一个是元素索引,第二个为当前值
4
alert(
'_mozi数组中 ,索引 : '
+key+
' 对应的值为: '
+val);
5
});
2. $.grep(array, callback, [invert]) 过滤数组[常用]
解释: 使用过滤函数过滤数组元素.此函数至少传递两个参数(第三个参数为true或false,对过滤函数返回值取反,个人觉得用处不大): 待过滤数组和过滤函数. 过滤函数必须返回 true 以保留元素或 false 以删除元素. 另外,过滤函数还可以是可设置为一个字条串(个人不推荐,欲了解自行查阅);
01
$.grep(_mozi,
function
(val,key){
02
//过滤函数有两个参数,第一个为当前元素,第二个为元素索引
03
if
(val==
'墨子'
){
04
alert(
'数组值为 墨子 的下标是: '
+key);
05
}
06
});
07
08
var
_moziGt1=$.grep(_mozi,
function
(val,key){
09
return
key>1;
10
});
11
alert(
'_mozi数组中索引值大于1的元素为: '
+_moziGt1);
12
13
var
_moziLt1=$.grep(_mozi,
function
(val,key){
14
return
key>1;
15
},
true
);
16
//此处传入了第三个可靠参数,对过滤函数中的返回值取反
17
alert(
'_mozi数组中索引值小于等于1的元素为: '
+_moziLt1);
解释:作为参数的转换函数会为每个数组元素调用, 而且会给这个转换函数传递一个表示被转换的元素作为参数. 转换函数可以返回转换后的值、null(删除数组中的项目)或一个包含值的数组, 并扩展至原始数组中.
这个是个很强大的方法,但并不常用. 它可以根据特定条件,更新数组元素值,或根据原值扩展一个新的副本元素.
01
var
_mapArrA=$.map(_mozi,
function
(val){
02
return
val+
'[新加]'
;
03
});
04
var
_mapArrB=$.map(_mozi,
function
(val){
05
return
val==
'墨子'
?
'[只给墨子加]'
+val : val;
06
});
07
var
_mapArrC=$.map(_mozi,
function
(val){
08
//为数组元素扩展一个新元素
09
return
[val,(val+
'[扩展]'
)];
10
});
11
alert(
'在每个元素后面加\'[新加]\'字符后的数组为: '
+ _mapArrA);
12
alert(
'只给元素 墨子 添加字符后的数组为: '
+ _mapArrB);
13
alert(
'为原数组中每个元素,扩展一个添加字符\'[新加]\'的元素,返回的数组为 '
+_mapArrC);
解释: 确定第一个参数在数组中的位置, 从0开始计数(如果没有找到则返回 -1 ).
记得indexOf()方法了吗? indexOf()返回字符串的首次出现位置,而$.inArray()返回的是传入参数在数组中的位置,同样的,如果找到的,返回的是一个大于或等于0的值,若未找到则返回-1.现在, 知道怎么用了吧. 有了它, 判断某个值是否存在于数组中,就变得轻而易举了.
1
var
_exist=$.inArray(
'墨子'
,_mozi);
2
var
_inexistence=$.inArray(
'卫鞅'
,_mozi)
3
if
(_exist>=0){
4
alert(
'墨子 存在于数组_mozi中,其在数组中索引值是: '
+_exist);
5
}
6
if
(_inexistence<0){
7
alert(
'卫鞅 不存在于数组_mozi中!,返回值为: '
+_inexistence+
'!'
);
8
}
解释: 返回的结果会修改第一个数组的内容——第一个数组的元素后面跟着第二个数组的元素.
这个方法是用jQuery的方法替代原生concat()方法, 但功能并没有concat()强大, concat()可以同时合并多个数组.
1
//原生concat()可能比它还简洁点
2
_moziNew=$.merge(_mozi,[
'鬼谷子'
,
'商鞅'
,
'孙膑'
,
'庞涓'
,
'苏秦'
,
'张仪'
])
3
alert(
'合并后新数组长度为: '
+_moziNew.length+
'. 其值为: '
+_moziNew);
解释: 删除数组中重复元素. 只处理删除DOM元素数组,而不能处理字符串或者数字数组.
第一次看到这个方法,觉得这是个很便捷的方法, 可以过滤重复, 哈, 多完美, 但仔细一看, 仅限处理DOM元素. 功能8折了.所以, 我给它定义成了一个不常用的元素, 至少, 我用jQuery以来没用到过它.
1
var
_h2Arr=$.makeArray(h2obj);
2
//将数组_h2Arr重复一次
3
_h2Arr=$.merge(_h2Arr,_h2Arr);
4
var
_curLen=_h2Arr.length;
5
_h2Arr=$.unique(_h2Arr);
6
var
_newLen=_h2Arr.length;
7
alert(
'数组_h2Arr原长度值为: '
+_curLen+
' ,过滤后为: '
+_newLen
8
+
' .共过滤 '
+(_curLen-_newLen)+
'个重复元素'
)
解释: 将类数组对象转换为数组对象, 类数组对象有 length 属性,其成员索引为0至 length-1.
这是个多余的方法, 无所不能的$本来就包含了这个功能. jQuery官网上解释的非常模糊. 其实, 它就是将某个类数组对象(比如用getElementsByTagName获取的元素对象集合)转换成数组对象.
1
var
_makeArr=$.makeArray(h2obj);
2
alert(
'h2元素对象集合的数据类型转换为: '
+_makeArr.constructor.name);
//输出Array
解释: 把jQuery集合中所有DOM元素恢复成一个数组;
并不常用的方法, 个人甚至觉得它和$.makeArray一样多余.
1
var
_toArr=$(
'h2'
).toArray();
2
alert(
'h2元素集合恢复后的数据类型是: '
+_toArr.constructor.name);
发表评论
-
iframe 跨域上传文件
2012-12-21 20:47 4108iframe无刷新跨域上传文件并获取返回值 通常我 ... -
jQuery 美元符冲突的解决方法,使用jquery与别的js库共同使用的时候需要注意的地方。
2012-06-20 16:49 797jQuery 美元符冲突的解决方法,使用jquery与别的 ... -
jquery事件机制扩展插件,jquery鼠标右键事件。
2012-06-14 19:25 1278因为最近技术长进缓慢,也没高手带,只能靠自己了,所以想仿个 ... -
fancybox
2012-05-07 03:23 835http://www.beautycss.cn/blog/ar ... -
jquery刷新页面
2012-05-04 17:30 1576jquery刷新页面 局部刷新: 这个方法就多了去了,常见 ... -
jquery iframe 操作
2012-03-07 20:11 1716jquery iframe操作 使 ... -
jQuery插件—获取URL参数
2011-08-21 16:30 937jQuery插件—获取URL参数 ... -
jquery 弹窗 (转)
2011-01-10 19:22 1882jquery 弹窗 (转) 2010-07-13 10:08 ... -
3款 jquery tab
2011-01-09 01:17 6749一、jQuery idTabs idTabs 是 jQuer ... -
jquery 加载图片
2011-01-07 21:48 724<script type="text/java ... -
IE8 下 HTML Parsing Error: Unable to modify the parent container element before t
2009-12-20 02:47 2282IE8 下 HTML Parsing Error: Unabl ...
相关推荐
以下是关于jQuery数组处理方法的详细汇总: 1. **$.each(array, [callback])**:这是一个通用的遍历方法,可以用于遍历数组或对象。在数组上下文中,`callback`函数接收两个参数,分别是当前元素的索引`key`和值`...
jQuery是一个广泛使用的JavaScript库,它提供了一系列...了解并熟练使用这些jQuery数组处理函数,能极大地提高代码的效率和可读性,使开发过程更加顺畅。在实际项目中,可以根据需求灵活运用这些工具,简化数组操作。
在这种情况下,jQuery提供的`grep()`方法可以提供一种替代方案,它允许通过过滤函数来创建一个新数组,而不直接修改原数组。 `grep()`是jQuery中的一个函数,专门用于数组或类数组对象的过滤操作。它允许开发者定义...
下面,我们将深入探讨jQuery中与数组处理相关的四个主要方法。 1. `$.each(array, [callback])` 遍历 `$.each()` 是jQuery中用于遍历数组或对象的方法。不同于用于遍历jQuery对象的`$().each()`,它可以应用于任何...
### jQuery数组处理代码详解 #### 一、引言 在前端开发中,处理数组是非常常见的需求之一。jQuery作为一款优秀的JavaScript库,提供了多种方便的方法来操作数组,这些方法不仅简化了开发过程,还提高了代码的...
JavaScript 和 jQuery 中的数组操作是编程中非常基础且重要的部分,尤其在处理数据集合时。在 JavaScript 中,数组是一种特殊的数据结构,可以存储各种类型的数据,包括整型、字符串、对象等。虽然 JavaScript 不...
jQuery 是一款轻量级的 JavaScript 库,它极大地简化了 HTML 文档遍历、事件处理、动画以及 Ajax 交互等操作。jQuery 提供了一套强大的选择器,使得开发者能够更方便地选取页面中的元素,并对这些元素进行各种操作。...
总体来说,push()方法在jQuery中是一个非常有用的工具,特别在处理动态内容和数据时,它可以有效地向数组中添加新元素。但是,也应当注意,由于push()方法直接修改了原数组,因此在某些情况下,可能需要在操作前复制...
jQuery中的grep()方法是一个非常实用的工具,尤其在处理数组数据时,它允许你根据特定条件筛选出符合或者不符合要求的元素。grep()方法的主要作用是遍历数组,并基于提供的回调函数判断每个元素是否应该保留在结果...
本主题将深入探讨如何使用jQuery库来实现数组、集合(如Java中的List)以及JSON类型的分页功能。jQuery作为一款强大的JavaScript库,简化了DOM操作,使得分页功能的实现变得更加简便。 首先,我们要理解分页的基本...
在本文中,我们将探讨如何使用SSH1框架与jQuery的AJAX功能来处理JSON二维数组,特别是在实现菜单联动下拉框的场景中。SSH1(Spring、Struts、Hibernate)是Java开发中的一个流行MVC框架组合,而jQuery的AJAX功能则...
以上就是使用jQuery AJAX向后台传递数组参数的完整过程,包括JSON序列化和反序列化的处理。请注意,这只是一个基础示例,实际项目中可能需要考虑更多的错误处理和数据验证。同时,不同的后端框架可能有内置的JSON...
然而,在处理数组时,有时我们需要确保数组中没有重复的元素。jQuery库虽然主要是为DOM操作提供便利,但其辅助函数`$.inArray()`也可以帮助我们实现这个功能。本文将详细探讨如何使用jQuery来删除数组中的重复元素。...