jQuery资料之遍历元素

这篇博客介绍了jQuery中遍历元素的两种方法:each方法适用于DOM元素处理,内部回调函数接收索引和DOM元素;$.each()方法用于数据处理,如数组和对象,回调函数接收索引和元素内容。
◆ 遍历元素:

jQuery 隐式迭代是对同一类元素做了同样的操作。 如果想要给同一类元素做不同操作,就需要用到遍历。

方法一:

$('div').each(function (index, domEle) { xxx, } )
  • each方法遍历匹配每个元素,主要用DOM处理。
  • 里面的回调函数有2个参数:index为每个元素的索引号,domEle是每个DOM元素对象,不是jQuery对象
  • 所以要想使用jQuery方法,需要给这个DOM元素转换为jQuery对象$(domEle)

方法二:

$.each(object, function (index, element) { xxx, } )
  • $.each()方法可以遍历任何对象。主要用于数据处理,比如数组、对象、
  • 里面的函数有2个参数:index为每个元素的索引号,element为内容
◆ 示例:
<body>
    <div>1</div>
    <div>2</div>
    <div>3</div>
    <script>
        $(function() {
            var sum = 0;
            var arr = ["red", "green", "blue"];
            // 1. each() 方法遍历元素 
            $("div").each(function(i, domEle) {
                // 回调函数第一个参数一定是索引号  可以自己指定索引号号名称
                // console.log(i);
                // 回调函数第二个参数一定是 dom 元素对象,也是自己命名
                // console.log(domEle);  // 使用jQuery方法需要转换 $(domEle)
                $(domEle).css("color", arr[i]);
                sum += parseInt($(domEle).text());
            })
            console.log(sum);
            // 2. $.each() 方法遍历元素 主要用于遍历数据,处理数据
            // $.each($("div"), function(i, ele) {
            //     console.log(i);
            //     console.log(ele);
            // });
            // $.each(arr, function(i, ele) {
            //     console.log(i);
            //     console.log(ele);
            // })
            $.each({
                name: "andy",
                age: 18
            }, function(i, ele) {
                console.log(i); // 输出的是 name age 属性名
                console.log(ele); // 输出的是 andy  18 属性值
            })
        })
    </script>
</body>
jQuery 中,遍历 DOM 元素是操作页面结构的重要手段之一。jQuery 提供了多种方法来实现对 DOM 树的上下左右遍历,以满足不同场景下的需求。 ### 遍历元素 `children()` 方法用于获取被选元素的所有直接子元素,并且仅限于向下一级进行遍历[^2]。这对于只关注直接子节点而不涉及更深层次的节点非常有用。 ```javascript $(document).ready(function(){ $("div").children(); }); ``` ### 遍历元素 `parents()` 方法可以找到指定元素的所有祖先元素。例如,要找到 `<li>` 元素的所有祖先元素并显示它们的标签名称: ```javascript $(function(){ $("button").click(function(){ var tag = $("li").parents().map(function(){ return this.tagName; }).get().join(','); alert(tag); }); }); ``` 此代码会触发一个警报框,展示所有 `<li>` 元素的祖先元素的标签名[^3]。 ### 遍历同级元素 除了上述方法外,jQuery 还提供了 `next()`, `prev()`, `siblings()` 等方法来处理同级元素遍历。这些方法允许开发者轻松地访问当前元素前后或所有的同级兄弟节点。 ### 使用 each() 方法遍历集合 `each()` 是 jQuery 中非常强大的一个工具方法,它能够遍历任何对象,包括 DOM 元素集合、数组和对象等,并为每个匹配的元素执行一次给定的函数。 ```javascript // 遍历 DOM 元素 $('li').each(function(index, element) { console.log(index + ': ' + $(element).text()); }); // 遍历数组 $.each([1, 2, 3], function(index, value) { console.log(index + ': ' + value); }); // 遍历对象 $.each({name: 'John', age: 30}, function(key, value) { console.log(key + ': ' + value); }); ``` ### 查找后代元素 `find()` 方法用于从当前匹配的元素集中搜索所有匹配选择器的后代元素。这个方法非常适合需要深入查找特定层级下元素的情况。 以上方法结合使用,可以让开发者灵活地控制和操作网页上的 DOM 结构,从而实现更加动态和交互性强的 Web 应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值