jQuery使用(十一):jQuery实例遍历与索引

  • each()
  • children()
  • index()

 一、jQuery实例遍历方法each()

 jQuery实例上的each()方法规定要运行的函数,并且给函数传入两个参数:index,element。这个方法本身应用非常的简单,所以要来点不简单的东西,请看以下代码:

复制代码
<ul>
    <li></li>
    <li></li>
    <li></li>
</ul>
//js
//需求一是将每个li的索引值作为文本添加给对应的li
//需求二是将每个li的所以加上“demo”添加给对应的li作为类名
//思路一:
$("li").text(function(){
    //循环获取每个li添加文本
}).addClass(function(){
    //循环获取每个li添加类名
});
复制代码

思路一的解决方案循环了两次,从上面的需求来看应该是具备一次循环即可解决这两个需求的方案:

$("li").each(function(index,ele){
    $(ele)
        .text(index)
            .addClass('demo' + index);
});

 二、jQuery实例方法children()

 children方法用来获取元素的直接子元素,这个非常的简单,来个叫demo就好了。

复制代码
<p>
    <span></span>
    <i></i>
    <span></span>
    <i></i>
    <span></span>
    <li></li>
</p>
//js
//需求是给p元素下的每个子元素添加文本是:tagName- + index
$("p").children().each(function(index, el) {
    if(el.nodeName == "I"){
        $(el).text("i-" + index);
    }else{
        $(el).text("span-" + index);
    }
});
复制代码

 三、jQuery实例方法index()

 index获取DOM在jQuery对象集合中的索引,非常的简单,但是可以传入参数才是真正的高校操作,比如在上面的HTML结构中,要获取p元素内span或者i是第几个:

$("p").on("click",function(e){
    var par = $(e.target).parent();
    if(e.target.nodeName == "SPAN"){
        alert(par.children('span').index($(e.target)));
    }else if(e.target.nodeName == "I"){
        alert(par.children('i').index($(e.target)));
    }
});
posted @   他乡踏雪  阅读(288)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示