`
qiufeihu
  • 浏览: 34228 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jQuery的each遍历

阅读更多
each的用法

1.数组中的each


复制代码

 var arr = [ "one", "two", "three", "four"];     
 $.each(arr, function(){     
    alert(this);     
 });   
//上面这个each输出的结果分别为:one,two,three,four    
    
var arr1 = [[1, 4, 3], [4, 6, 6], [7, 20, 9]]     
$.each(arr1, function(i, item){     
   alert(item[0]);     
});     
//其实arr1为一个二维数组,item相当于取每一个一维数组,   
//item[0]相对于取每一个一维数组里的第一个值   
//所以上面这个each输出分别为:1   4   7     
  
  
var obj = { one:1, two:2, three:3, four:4};     
$.each(obj, function(i) {     
    alert(obj[i]);           
});   
//这个each就有更厉害了,能循环每一个属性     
//输出结果为:1   2  3  4


2.遍历Dom元素中
<html>
<head>
<script type="text/javascript" src="/jquery/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $("button").click(function(){
    $("li").each(function(){
      alert($(this).text())
    });
  });
});
</script>
</head>
<body>
<button>输出每个列表项的值</button>
<ul>
<li>Coffee</li>
<li>Milk</li>
<li>Soda</li>
</ul>
</body>
</html>

依次弹出Coffee,Milk,Soda

3.each和map的比较
下面的例子是获取每一个多框的ID值;

each方法:

定义一个空数组,通过each方法,往数组添加ID值;最后将数组转换成字符串后,alert这个值;
$(function(){
    var arr = [];
    $(":checkbox").each(function(index){
        arr.push(this.id);
    });
    var str = arr.join(",");
    alert(str);
})


map方法:

将每个:checkbox执行return this.id;并将这些返回值,自动的保存为jQuery对象,然后用get方法将其转换成原生Javascript数组,再使用join方法转换成字符串,最后alert这个值;
$(function(){
    var str = $(":checkbox").map(function() {
        return this.id;
    }).get().join();    
    alert(str);
})

当有需一个数组的值的时候,用map方法,很方便。

4.jquery中使用each

例遍数组,同时使用元素索引和内容。(i是索引,n是内容)

代码如下:
$.each( [0,1,2], function(i, n){
alert( "Item #" + i + ": " + n );
});

例遍对象,同时使用成员名称和变量内容。(i是成员名称,n是变量内容)
代码如下:
$.each( { name: "John", lang: "JS" }, function(i, n){
alert( "Name: " + i + ", Value: " + n );
}); 


例遍dom元素,此处以一个input表单元素作为例子。
如果你dom中有一段这样的代码
<input name="aaa" type="hidden" value="111" />
<input name="bbb" type="hidden" value="222" />
<input name="ccc" type="hidden" value="333" />
<input name="ddd" type="hidden" value="444"/>
然后你使用each如下
代码如下:
$.each($("input:hidden"), function(i,val){
alert(val); //输出[object HTMLInputElement],因为它是一个表单元素。
alert(i); //输出索引为0,1,2,3
alert(val.name); //输出name的值
alert(val.value); //输出value的值
});

5.each中根据this查找元素

实现效果”回复”两个字只有在鼠标经过的时候才显示出来
<ol class="commentlist">
    <li class="comment">
        <div class="comment-body">
          <p>嗨,第一层评论</p>
          <div class="reply">
            <a href="#" class=".comment-reply-link">回复</a>
          </div>
        </div>
        <ul class="children">
          <li class="comment">
            <div class="comment-body">
            <p>第二层评论</p>
            <div class="reply">
              <a href="#" class=".comment-reply-link">回复</a>
            </div>
          </div></li>
        </ul>
    </li>
</ol>

js代码如下
$("div.reply").hover(function(){
  $(this).find(".comment-reply-link").show();
},function(){
  $(this).find(".comment-reply-link").hide();
});

实现效果,验证判断题是否都有选择

html
<ul id="ulSingle">
    
            <li class="liStyle">
                1.&nbsp;&nbsp;阿斯顿按时<label id="selectTips" style="display: none" class="fillTims">请选择</label>
                <!--begin选项-->
                <ul>
                    
                            <li class="liStyle2">
                                <span id="repSingle_repSingleChoices_0_labOption_0">A         </span>.阿萨德发<input type="hidden" name="repSingle$ctl00$repSingleChoices$ctl00$hidID" id="repSingle_repSingleChoices_0_hidID_0" value="1" />
                                <input id="repSingle_repSingleChoices_0_cheSingleChoice_0" type="checkbox" name="repSingle$ctl00$repSingleChoices$ctl00$cheSingleChoice" /></li>
                        
                            <li class="liStyle2">
                                <span id="repSingle_repSingleChoices_0_labOption_1">B         </span>.阿萨德发<input type="hidden" name="repSingle$ctl00$repSingleChoices$ctl01$hidID" id="repSingle_repSingleChoices_0_hidID_1" value="2" />
                                <input id="repSingle_repSingleChoices_0_cheSingleChoice_1" type="checkbox" name="repSingle$ctl00$repSingleChoices$ctl01$cheSingleChoice" /></li>
                        
                            <li class="liStyle2">
                                <span id="repSingle_repSingleChoices_0_labOption_2">C         </span>.阿斯顿<input type="hidden" name="repSingle$ctl00$repSingleChoices$ctl02$hidID" id="repSingle_repSingleChoices_0_hidID_2" value="3" />
                                <input id="repSingle_repSingleChoices_0_cheSingleChoice_2" type="checkbox" name="repSingle$ctl00$repSingleChoices$ctl02$cheSingleChoice" /></li>
                        
                </ul>
                <!--end选项-->
                <br />
            </li>
        
</ul>

js代码
//验证单选题是否选中
        $("ul#ulSingle>li.liStyle").each(function (index) {
            //选项个数
            var count = $(this).find("ul>li>:checkbox").length;
            var selectedCount = 0
            for (var i = 0; i < count; i++) {
                if ($(this).find("ul>li>:checkbox:eq(" + i + ")").attr("checked")) {
                    selectedCount++;
                    break;
                }
            }
            if (selectedCount == 0) {
                $(this).find("label#selectTips").show();
                return false;
            }
            else {
                $(this).find("label#selectTips").hide();
            }
        })

6.官方解释
以下是官方的解释:

jQuery.each(object, [callback])

概述
通用例遍方法,可用于例遍对象和数组。

不同于例遍 jQuery 对象的 $().each() 方法,此方法可用于例遍任何对象。回调函数拥有两个参数:第一个为对象的成员或数组的索引,第二个为对应变量或内容。如果需要退出 each 循环可使回调函数返回 false,其它返回值将被忽略。

参数
objectObject
需要例遍的对象或数组。

callback (可选)Function
每个成员/元素执行的回调函数。

作者:Tyler Ning
出处:http://www.cnblogs.com/tylerdonet/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过以下邮箱地址williamningdong@gmail.com  联系我,非常感谢。
分享到:
评论

相关推荐

    jQuery的$.each()遍历数组或对象的用法

    $.each()遍历数组或对象的具体用法

    JQuery $.each遍历JavaScript数组对象实例

    在JavaScript和jQuery中,`$.each`函数是一个非常实用的工具,用于遍历数组或对象。这个函数允许我们对集合中的每个元素执行某些操作。在本例中,我们将深入探讨如何使用`$.each`处理JSON数据,特别是从JSON字符串...

    jQuery 1.5 遍历xml节点属性

    需要注意的是,`.attr.each()`并不是jQuery的核心方法,而是对`jQuery.fn.attr`的一个扩展,如在描述中提到的博客文章可能对此进行了定义。 结合"test.html"文件,我们可以创建一个简单的HTML页面来展示这个过程。...

    jQuery中each遍历的三种方法实例分析

    本文详细介绍了 jQuery 中的 each() 方法,用于遍历匹配的元素集合,即根据选择器选取的元素集合,并针对每个元素执行一个函数。 在 jQuery 中,each() 方法主要有三种遍历方式: 1. 使用选择器选取元素,然后通过...

    浅析jQuery 遍历函数,javascript中的each遍历_.docx

    jQuery 遍历函数和 JavaScript 中的 each 遍历 jQuery 遍历函数是 jQuery 库中的一组方法,用于筛选、查找和串联元素。这些方法可以帮助开发者快速地操作和处理 HTML 元素。下面是 jQuery 遍历函数的详细介绍: 1....

    each遍历各个选项卡

    《锋利的jquery》利用each方法遍历各个选项卡

    JQuery中使用.each()遍历元素学习笔记

    在jQuery中,`.each()`函数是一个非常重要的方法,它用于遍历数组或对象,执行针对每个元素的操作。在这个实例中,我们看到`.each()`被用来处理`&lt;li&gt;`元素,以实现一个选项卡功能。接下来,我们将深入探讨`.each()`...

    Jquery使用each函数实现遍历及数组处理

    接下来我们将详细探讨如何使用jQuery的`each()`函数进行遍历和数组处理。 首先,`each()`函数的基本语法是: ```javascript $.each(object, function(index, value){ // 在这里编写循环体的代码 }); ``` 1. **...

    jquery 遍历数组 each 方法详解

    jQuery中的$.each()方法主要用于遍历数组或对象。它提供了一种方便的方式来执行数组中的每个元素或对象的每个属性。$.each()方法是jQuery的核心扩展之一,可以用来替代原生JavaScript中的for循环来处理数组或对象。 ...

    jquery 动态遍历select 赋值的实例

    具体而言,首先会清空原有的select元素内容,然后通过$.each()方法遍历从服务器返回的数据,创建新的option元素并添加到select元素中。 知识点三:$.ajax()方法详解 $.ajax()方法是一个在页面中实现异步HTTP(Ajax...

    jquery遍历select元素(实例讲解)

    =ddl_xreg_id.clientid%&gt; option”).each(function() {形式来each遍历一次,这样所有的select就给查询了一次。 代码如下:[removed][removed][removed]$(document).ready(function(){$(“#selecttest”).change...

    js/jquery遍历对象和数组的方法分析【forEach,map与each方法】

    主要介绍了js/jquery遍历对象和数组的方法,结合实例形式分析了数组遍历的forEach,map与each方法常见使用技巧,需要的朋友可以参考下

    jquery 遍历 学习

    `each()`函数是jQuery中最常用的遍历方法,它可以对每个匹配的元素执行一个函数。例如: ```javascript $(".myClass").each(function(index, element) { // index 是当前元素的索引,element 是原生DOM元素 ...

    jQuery使用each遍历循环的方法

    jQuery的核心功能之一是通过其内置方法实现DOM元素的遍历,其中使用each方法进行遍历循环是十分常见的做法。 在介绍jQuery的each方法之前,首先需要明确DOM遍历的概念。DOM遍历是指在文档对象模型(DOM)中,按照...

    jQuery 遍历的 each() 方法

    `each()`方法是jQuery中的一个核心功能,用于遍历集合中的每一个元素,这在处理DOM节点数组或者对象数组时非常实用。下面我们将深入探讨`each()`方法的用法、原理以及它在实际开发中的应用。 ### `each()`方法概述 ...

    jQuery循环遍历子节点并获取值的方法

    本篇文章将详细讲解如何使用jQuery来循环遍历子节点并获取它们的值,这在处理复杂页面结构时尤其有用。 首先,我们来看一个简单的HTML示例,包含一个`&lt;div&gt;`元素,其中嵌套了多个`&lt;ul&gt;`列表和`&lt;li&gt;`列表项: ```...

    jQuery使用$.each遍历json数组的简单实现方法

    ### jQuery使用$.each方法遍历JSON数组 #### 1. jQuery $.each方法概述 jQuery中的$.each方法是一个强大的工具,它允许开发者遍历JavaScript数组或对象。它模仿了jQuery中的其他迭代方法,比如$.map、$.grep等,但...

    jQuery $.each遍历对象、数组用法实例

    jQuery的$.each方法是用于遍历对象或数组的一个强大工具,它提供了灵活的方式来处理数据集合中的每个元素或属性。在JavaScript中,遍历通常是为了执行某种操作,如修改、检查或计算。$.each方法有两种主要的用法,一...

Global site tag (gtag.js) - Google Analytics