JQuery遍历方式:
- js遍历方法
- jq对象.each(callback)
- $.each(object, [callback])
- for…of: jquery 3.0 版本之后提供的方式
for(元素对象 of 容器对象)
接下来每个都详细的记录一下
首先给出一个运行的html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="../js/jquery-3.3.1.min.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
$(function(){
//下文的所有代码都将放入这其中进行操作
})
</script>
</head>
<body>
<ul id="city">
<li>北京</li>
<li>上海</li>
<li>天津</li>
<li>重庆</li>
</ul>
</body>
</html>
1. js遍历方法:
var citys = $("#city li");
//遍历li
for (var i = 0; i < citys.length; i++) {
if("上海" == citys[i].innerHTML){
break; 结束循环
//continue; //结束本次循环,继续下次循环
}
//获取内容
alert(i+":"+citys[i].innerHTML);
2. jq对象.each(callback)
- (1)语法:
jquery对象.each(function(index,element){});
* index:就是元素在集合中的索引
* element:就是集合中的每一个元素对象
//第一种 在回调函数中定义参数
city.each(function (index,element) {
//弹出四个城市:
alert(index+":"+element.innerHTML);//使用js对象调用innerHTML()方法
alert(index+":"+$(element).html());//使用JQuery对象使用html()方法
});
(2) function(index,element){}中回调函数返回值(可以用来判断):
- true:如果当前function返回为false,则结束循环(break)。
- false:如果当前function返回为true,则结束本次循环,继续下次循环(continue)
var city = $("#city li");
city.each(function (index,element) {
//要求:判断如果是上海,则结束循环(二选一都可执行)
//1.使用JQ对象进行判断
if("上海" == $(element).html()){
return true;
}
//2.使用js对象进行判断
if("上海" == element.innerHTML){
return true;
}
alert(index+":"+$(element).html());
});
- 使用this对象
//就是不能获取索引(依旧二选一都可执行)
alert(this.innerHTML);
alert($(this).html());
3. $.each(object, [callback])
使用:和第二种的jq对象.each(callback) 相似,相当于把jq对象 放入object 。不过这里的object可以放jq对象和js数组对象。函数内部使用和第二种方法一样。
$.each(citys,function () {
alert($(this).html());
});
4. for(元素对象 of 容器对象)
注意:这种方法是jquery 3.0 版本之后提供的方式
//需求仍然是弹出四个城市
for(li of citys){
alert($(li).html());
}