jquery 学习之一 对象访问


Posted in Javascript onNovember 23, 2010

each()

each(callback)

以每一个匹配的元素作为上下文来执行一个函数。
意味着,每次执行传递进来的函数时,函数中的this关键字都指向一个不同的DOM元素(每次都是一个不同的匹配元素)。

而且,在每次执行函数时,都会给函数传递一个表示作为执行环境的元素在匹配的元素集合中所处位置的数字值作为参数(从零开始的整形)。

返回 'false' 将停止循环 (就像在普通的循环中使用 'break')。返回 'true' 跳至下一个循环(就像在普通的循环中使用'continue')。

Execute a function within the context of every matched element.
This means that every time the passed-in function is executed (which is once for every element matched) the 'this' keyword points to the specific DOM element.

Additionally, the function, when executed, is passed a single argument representing the position of the element in the matched set (integer, zero-index).

Returning 'false' from within the each function completely stops the loop through all of the elements (this is like using a 'break' with a normal loop). Returning 'true' from within the loop skips to the next iteration (this is like using a 'continue' with a normal loop).

返回值

jQuery

参数

callback (Function) : 对于每个匹配的元素所要执行的函数

示例

迭代两个图像,并设置它们的 src 属性。注意:此处 this 指代的是 DOM 对象而非 jQuery 对象。

HTML 代码:

<img/><img/>

jQuery 代码:

$("img").each(function(i){
   this.src = "test" + i + ".jpg";
 });

结果:

[ <img src="test0.jpg" />, <img src="test1.jpg" /> ]

如果你想得到 jQuery对象,可以使用 $(this) 函数。

jQuery 代码:

$("img").each(function(){
  $(this).toggleClass("example");
});

你可以使用 'return' 来提前跳出 each() 循环。

HTML 代码:

<button>Change colors</button><span></span> <div></div> <div></div><div></div> <div></div><div id="stop">Stop here</div> <div></div><div></div><div></div>

jQuery 代码:

$("button").click(function () { $("div").each(function (index, domEle) {  // domEle == this  $(domEle).css("backgroundColor", "yellow");  if ($(this).is("#stop")) {  $("span").text("Stopped at div index #" + index);  return false;  } });});
--------------------------------------------------------------------------------------------------------------------------------

size()

jQuery 对象中元素的个数。
这个函数的返回值与 jQuery 对象的'length' 属性一致。
The number of elements in the jQuery object.
This returns the same number as the 'length' property of the jQuery object.

返回值

Number

示例

计算文档中所有图片数量

HTML 代码:

<img src="test1.jpg"/> <img src="test2.jpg"/>

jQuery 代码:

$("img").size();

结果:

2
-------------------------------------------------------------------------------------------------------------------------

length

jQuery 对象中元素的个数。
当前匹配的元素个数。 size 将返回相同的值。
The number of elements in the jQuery object.
The number of elements currently matched. The size function will return the same value.

返回值

Number

示例

计算文档中所有图片数量

HTML 代码:

<img src="test1.jpg"/> <img src="test2.jpg"/>

jQuery 代码:

$("img").length;

结果:

2
---------------------------------------------------------------------------------------------------------------------------------------

get()

取得所有匹配的 DOM 元素集合。

这是取得所有匹配元素的一种向后兼容的方式(不同于jQuery对象,而实际上是元素数组)。

 

如果你想要直接操作 DOM 对象而不是 jQuery 对象,这个函数非常有用。

Access all matched DOM elements.
This serves as a backwards-compatible way of accessing all matched elements (other than the jQuery object itself, which is, in fact, an array of elements). It is useful if you need to operate on the DOM elements themselves instead of using built-in jQuery functions.

返回值

Array<Element>

示例

选择文档中所有图像作为元素数组,并用数组内建的 reverse 方法将数组反向。

HTML 代码:

<img src="test1.jpg"/> <img src="test2.jpg"/>

jQuery 代码:

$("img").get().reverse();

结果:

[ <img src="test2.jpg"/> <img src="test1.jpg"/> ]
---------------------------------------------------------------------------------------------------------------------------------------

get(index)

取得其中一个匹配的元素。 num表示取得第几个匹配的元素。
这能够让你选择一个实际的DOM 元素并且对他直接操作,而不是通过 jQuery 函数。$(this).get(0)与$(this)[0]等价。
Access a single matched DOM element at a specified index in the matched set.
This allows you to extract the actual DOM element and operate on it directly without necessarily using jQuery functionality on it. This function called as $(this).get(0) is the equivalent of using square bracket notation on the jQuery object itself like $(this)[0].

返回值

Element

参数

index (Number) :取得第 index 个位置上的元素

示例

 

HTML 代码:

<img src="test1.jpg"/> <img src="test2.jpg"/>

jQuery 代码:

$("img").get(0);

结果:

[ <img src="test1.jpg"/> ]
---------------------------------------------------------------------------------------------------------------------------------------

index(subject)

搜索与参数表示的对象匹配的元素,并返回相应元素的索引值值。
如果找到了匹配的元素,从0开始返回;如果没有找到匹配的元素,返回-1。
Searches every matched element for the object and returns the index of the element, if found, starting with zero.
Returns -1 if the object wasn't found.

返回值

Number

参数

subject (Element) : 要搜索的对象

示例

返回ID值为foobar的元素的索引值值。

HTML 代码:

<div id="foobar"><b></b><span id="foo"></span></div>

jQuery 代码:

$("*").index($('#foobar')[0])

结果:

5
Javascript 相关文章推荐
使用jquery给input和textarea设定ie中的focus
May 29 Javascript
Javascript(AJAX)解析XML的代码(兼容FIREFOX/IE)
Jul 11 Javascript
jQuery Clone Bug解决代码
Dec 22 Javascript
javascript适合移动端的日期时间拾取器
Nov 10 Javascript
原生JS实现多个小球碰撞反弹效果示例
Jan 31 Javascript
使用jQuery给Table动态增加行、清空table的方法
Sep 05 jQuery
vue 移动端适配方案详解
Nov 15 Javascript
JavaScript 自定义html元素鼠标右键菜单功能
Dec 02 Javascript
纯js+css实现仿移动端淘宝网站的弹出详情框功能
Dec 29 Javascript
JavaScript Window窗口对象属性和使用方法
Jan 19 Javascript
vue实现虚拟列表功能的代码
Jul 28 Javascript
Vue3为什么这么快
Sep 23 Javascript
boxy基于jquery的弹出层对话框插件扩展应用 弹出层选择器
Nov 21 #Javascript
IE6下出现JavaScript未结束的字符串常量错误的解决方法
Nov 21 #Javascript
基于jquery的滑动样例代码
Nov 20 #Javascript
jquery $.ajax()取xml数据的小问题解决方法
Nov 20 #Javascript
简单实用的js调试logger组件实现代码
Nov 20 #Javascript
扩展javascript的Date方法实现代码(prototype)
Nov 20 #Javascript
javascript AOP 实现ajax回调函数使用比较方便
Nov 20 #Javascript
You might like
一些 PHP 管理系统程序中的后门
2009/08/05 PHP
PHP字符串中特殊符号的过滤方法介绍
2014/02/18 PHP
几个优化WordPress中JavaScript加载体验的插件介绍
2015/12/17 PHP
PHP中addcslashes与stripcslashes函数用法分析
2016/01/07 PHP
PHP封装的多文件上传类实例与用法详解
2017/02/07 PHP
php微信公众号开发之校园图书馆
2018/10/20 PHP
精心挑选的15个jQuery下拉菜单制作教程
2012/06/15 Javascript
IE6下opacity与JQuery的奇妙结合
2013/03/01 Javascript
简单的两种Extjs formpanel加载数据的方式
2013/11/09 Javascript
js中split和replace的用法实例
2015/02/28 Javascript
jQuery实现仿腾讯微博滑出效果报告每日天气的方法
2015/05/11 Javascript
详解JavaScript中void语句的使用
2015/06/04 Javascript
jquery自定义插件结合baiduTemplate.js实现异步刷新(附源码)
2016/12/22 Javascript
浅谈javascript的闭包
2017/01/23 Javascript
Web纯前端“旭日图”实现元素周期表
2017/03/10 Javascript
利用webstrom调试Vue.js单页面程序的方法教程
2017/06/06 Javascript
微信小程序 新建登录页并实现tabBar隐藏
2017/06/13 Javascript
vue使用中的内存泄漏【推荐】
2018/07/10 Javascript
vue监听键盘事件的快捷方法【推荐】
2018/07/11 Javascript
react native 仿微信聊天室实例代码
2019/09/17 Javascript
Vue开发中遇到的跨域问题及解决方法
2020/02/11 Javascript
详解element-ui动态限定的日期范围选择器代码片段
2020/07/03 Javascript
javascript运行机制之执行顺序理解
2020/08/03 Javascript
Python def函数的定义、使用及参数传递实现代码
2014/08/10 Python
教你学会使用Python正则表达式
2017/09/07 Python
用openCV和Python 实现图片对比,并标识出不同点的方式
2019/12/19 Python
Pandas实现DataFrame按行求百分数(比例数)
2019/12/27 Python
如何学习Python time模块
2020/06/03 Python
区域销售经理职责
2013/12/22 职场文书
党的群众路线教育实践活动公开承诺书
2014/03/28 职场文书
2015年春节标语口号
2014/12/09 职场文书
Nginx访问日志及错误日志参数说明
2021/03/31 Servers
详细介绍python类及类的用法
2021/05/31 Python
浅析python中特殊文件和特殊函数
2022/02/24 Python
特别篇动画《总之就是非常可爱 ~制服~》PV公开,2022年夏季播出
2022/04/04 日漫
详解Mysql事务并发(脏读、不可重复读、幻读)
2022/04/29 MySQL