JQuery中$.each 和$(selector).each()的区别详解

关于JQuery中.each()方法的区别,其实涉及到两种不同的调用方式:$.each()$(selector).each()

$.each()

$.each()是JQuery提供的静态方法,其作用是遍历一个对象或者数组。

使用方式如下:

$.each(obj, function(key, value){
    // 处理逻辑
});

其中,obj是要遍历的对象,function则是每次进行处理的回调函数。这个回调函数中,key用于表示对象的键,value表示对象的值。

例如:

// 遍历一个数组
var arr = ['one', 'two', 'three'];
$.each(arr, function(index, value){
    console.log(index + ': ' + value);
});

// 遍历一个对象
var obj = {
    name: '张三',
    age: 18,
    gender: '男'
};
$.each(obj, function(key, value){
    console.log(key + ': ' + value);
});

上述示例中,第一个$.each()方法将会遍历数组arr,输出其每一个元素的值;第二个$.each()方法将会遍历对象obj,输出其每一个键值对的值。

$(selector).each()

$.each()不同,$(selector).each()是JQuery提供的实例方法,它的作用是遍历匹配到的元素列表。

使用方式如下:

$(selector).each(function(index, element){
    // 处理逻辑
});

其中,selector是要匹配的元素选择器,function则是每次进行处理的回调函数。回调函数中的index表示元素在列表中的索引,element表示当前处理的元素对象。

例如:

// 遍历所有input元素
$('input').each(function(index, element){
    console.log(index + ': ' + element.value);
});

上述示例中,$('input')将会匹配页面中所有input元素,each()方法将会依次遍历每一个匹配到的元素,并输出其value属性的值。

区别

可以发现,$.each()方法是没有选择器的,因此只能遍历给出的对象或者数组。而$(selector).each()方法是依靠选择器匹配元素,因此只能遍历匹配到的元素列表。

示例

示例:遍历表格中的所有单元格

使用$.each()方法可以遍历一个数组,而使用$(selector).each()方法可以遍历匹配到的元素列表。两者结合起来,可以遍历表格中的所有单元格:

var cells = [];  // 用于存储所有单元格对象
$('table tr').each(function(row_index, row){
    $(row).find('td').each(function(col_index, cell){
        console.log(row_index + '-' + col_index + ': ' + cell.textContent);
        cells.push(cell);
    });
});

console.log(cells.length);  // 输出表格中单元格的数量

说明:

  • 首先使用$('table tr').each()方法遍历表格的每一行,row_index表示行的索引,row表示行对象。
  • 在行遍历的过程中,使用$(row).find('td').each()方法遍历当前行的所有单元格,col_index表示列的索引,cell表示单元格对象。
  • 在每次处理单元格时,将它的内容输出,并将其存储到cells数组中。
  • 最后,输出cells.length可以查看表格中单元格的数量。

示例:遍历一个对象

再次展示$.each()方法的使用,这次遍历一个javascript对象,并输出其键和值:

var person = {
    name: '张三',
    age: 18,
    gender: '男'
};

$.each(person, function(key, value){
    console.log(key + ': ' + value);
});

以上代码将输出:

name: 张三
age: 18
gender: 男

说明:

  • 首先定义了一个person对象,它有三个属性:nameagegender
  • 然后,使用$.each()方法遍历person对象,输出其每一个键值对的键和值。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JQuery中$.each 和$(selector).each()的区别详解 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • jQWidgets jqxButton toggled属性

    jQWidgets jqxButton toggled属性详解 jQWidgets是一个基于jQuery的UI组件库,提供了丰富UI组件工具包。jqxButton是其中之一。本文将详细介绍jqxButton的toggled属性,包括定义、语法和示例。 toggled属性的定义 jqxButton的toggled属性用于获取或设置按钮的状态。当按钮处于激活状态…

    jquery 2023年5月10日
    00
  • AJAX跨域问题解决方案详解

    那么首先我们需要了解什么是 AJAX 跨域问题。 当我们在网页上使用 AJAX 技术向后端服务器请求数据时,若该请求的服务器与当前网页所在的域名不一致,便会出现跨域问题,也就是所谓的“跨域访问”。 为了解决 AJAX 跨域问题,我们可以采用以下几种方案: 1、JSONP JSONP 是一种通过添加一个 script 标签来解决跨域访问的方案。实现过程如下: …

    jquery 2023年5月28日
    00
  • jquery访问ashx文件示例代码

    接下来我将详细讲解如何使用 jQuery 访问 ASHX 文件。 首先,我们需要了解 ASHX 文件是什么。ASHX 文件全称为 ASP.NET Web 处理程序文件,它是一种特殊的服务端文件类型,用于处理 HTTP 请求并生成 HTTP 响应。在 ASHX 文件中可以编写 C# 或 VB.NET 等代码来执行各种操作,比如查询数据库、处理数据、生成图片等等…

    jquery 2023年5月27日
    00
  • jQWidgets jqxListBox宽度属性

    jQWidgets jqxListBox宽度属性详解 jQWidgets是一个基于jQuery的UI组件库,提供了丰富UI组件工具包。ListBox是其中之一。本文将详细介绍jqxListBox的width属性,包括定义、语法和示例。 width属性的定义 jqxListBox的width属性用于设置列表框的宽度。通过使用width属性,可以在代码中设置列表…

    jquery 2023年5月10日
    00
  • jquery用ajax方式从后台获取json数据后如何将内容填充到下拉列表

    当使用 jQuery 从后台获取 JSON 数据后,可以使用以下步骤将内容填充到下拉列表中: 创建一个下拉列表的元素,例如: <select id="myDropdown"></select> 使用 jQuery 提供的 $.ajax() 方法从后台获取 JSON 数据,例如: $.ajax({ url: &quo…

    jquery 2023年5月28日
    00
  • jQuery Mobile Collapsibleset refresh()方法

    下面是关于”jQuery Mobile Collapsibleset refresh()方法”的详细讲解以及两条示例说明。 简介 jquery.mobile.collapsibleset.js插件是jQuery Mobile官方提供的插件之一,用于创建可折叠的组。refresh()方法则是其中的一个方法,它可以更新视图以反映DOM上的选择性状态的更改。 语法…

    jquery 2023年5月12日
    00
  • Jquery实现显示和隐藏的4种简单方式

    下面是详细讲解“Jquery实现显示和隐藏的4种简单方式”的完整攻略: 1. jQuery的show和hide方法 show和hide方法是jQuery框架中最基本的方法,用于实现元素的显示和隐藏。它们非常简单易用,两者的语法基本相同,不同的仅仅是show方法将元素设置为显示状态,而hide方法将元素设置为隐藏状态。 示例代码: HTML代码: <bu…

    jquery 2023年5月27日
    00
  • jQWidgets jqxFormattedInput min属性

    jQWidgets jqxFormattedInput min属性 jQWidgets是一个基于jQuery的UI组件库,提供了丰富的UI件和工具,包括表格、图表、历、菜单等。jqxFormattedInput是jQWidgets中的一个组件,可以用于输入和格式化数字、货币、日期等。jqxFormattedInput提供了min属性,用于设置输入的最小值。 …

    jquery 2023年5月9日
    00
合作推广
合作推广
分享本页
返回顶部