javascript中的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. 阿斯顿按时<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
每个成员/元素执行的回调函数。
分享到:
相关推荐
jQuery 遍历函数和 JavaScript 中的 each 遍历 jQuery 遍历函数是 jQuery 库中的一组方法,用于筛选、查找和串联元素。这些方法可以帮助开发者快速地操作和处理 HTML 元素。下面是 jQuery 遍历函数的详细介绍: 1....
在JavaScript和jQuery中,`$.each`函数是一个非常实用的工具,用于遍历数组或对象。这个函数允许我们对集合中的每个元素执行某些操作。在本例中,我们将深入探讨如何使用`$.each`处理JSON数据,特别是从JSON字符串...
本文详细介绍了 jQuery 中的 each() 方法,用于遍历匹配的元素集合,即根据选择器选取的元素集合,并针对每个元素执行一个函数。 在 jQuery 中,each() 方法主要有三种遍历方式: 1. 使用选择器选取元素,然后通过...
在本文中,我们将探讨jQuery库中的一系列遍历函数,以及如何使用javascript中的each函数来遍历数组和DOM元素。jQuery是一个快速、小巧且功能丰富的JavaScript库,它简化了HTML文档遍历、事件处理、动画和Ajax交互的...
jQuery的$.each方法是用于遍历对象或数组的一个强大工具,它提供了灵活的方式来处理数据集合中的每个元素或属性。在JavaScript中,遍历通常是为了执行某种操作,如修改、检查或计算。$.each方法有两种主要的用法,一...
jQuery中的$.each方法是一个强大的工具,它允许开发者遍历JavaScript数组或对象。它模仿了jQuery中的其他迭代方法,比如$.map、$.grep等,但它的用途更广泛,可以用于处理JSON对象或者数组。 #### 2. $.each方法的...
本文将通过一个名为"GridviewBatchOperation"的压缩包文件中的例子,详细介绍如何使用JavaScript在客户端遍历GridView的所有控件,实现批量操作。 首先,了解JavaScript的基本语法是必要的。JavaScript是一种轻量级...
在jQuery库中,`each`函数是一个非常实用的工具,它可以用于遍历对象和数组,提供了灵活的方式来处理数据。在本文中,我们将深入探讨`each`的使用方式、语法以及如何在不同场景下应用。 首先,`each`函数的基本语法...
2. 在遍历中使用索引和元素 在each方法中,可以利用索引i来获取当前元素的索引值,而this或ele则指向当前DOM元素。通过这两种方式可以方便地在遍历过程中对元素进行操作。 ```javascript $('div').each(function...
`each()`函数主要用于遍历数组或对象,简化了JavaScript中的循环操作,使得代码更加简洁易读。接下来我们将详细探讨如何使用jQuery的`each()`函数进行遍历和数组处理。 首先,`each()`函数的基本语法是: ```...
在jQuery中,`.each()`函数是一个非常重要的方法,它用于遍历数组或对象,执行针对每个元素的操作。在这个实例中,我们看到`.each()`被用来处理`<li>`元素,以实现一个选项卡功能。接下来,我们将深入探讨`.each()`...
当在`.each()`的回调函数中返回`false`时,它会停止遍历过程,类似于原生JavaScript中的`break`语句。以下是一个示例: ```javascript var a = [20, 21, 22, 23, 24]; $.each(a, function(index, val) { console....
`each()`方法是jQuery中的一个核心功能,用于遍历集合中的每一个元素,这在处理DOM节点数组或者对象数组时非常实用。下面我们将深入探讨`each()`方法的用法、原理以及它在实际开发中的应用。 ### `each()`方法概述 ...
jQuery中的$.each()方法主要用于遍历数组或对象。它提供了一种方便的方式来执行数组中的每个元素或对象的每个属性。$.each()方法是jQuery的核心扩展之一,可以用来替代原生JavaScript中的for循环来处理数组或对象。 ...