jQuery03:筛选&文档处理

本文详细介绍了jQuery中如何对对象数组进行过滤、查找等操作,包括选取第一个和最后一个元素、按条件筛选、查找子元素和父元素等。同时,讲解了文档处理的增加、修改和删除内容的方法,如内部和外部插入、替换元素、清空及移除元素等。通过实例展示了jQuery在DOM操作上的强大功能。

一、在jQuery对象数组中,筛选出一部分元素

$(function() {

//1.1 过滤

                //--过滤出指定表达式匹配的元素
                // 获取ul中所有的li元素,然后找到第一个元素
                //$("ul>li").first().css("background","pink");

                // 找到最后一个元素
                //$("ul>li").last().css("background","pink");

                // 找到指定的某一个元素,例如第3个
                //$("ul>li:eq(2)").css("background","pink");
                //$("ul>li").eq(-1).css("background","pink");//倒数

                //--过滤出指定表达式匹配的元素集合
                // 找到属性title为a的元素
                //$("ul>li").filter("[title=a]").css("background","pink");

                //找到属性title不为a的元素
                //$("ul>li").filter("[title!=a]").css("background","pink");

                // 筛选出有title属性的元素集合
                //$("ul>li").filter("[title]").css("background","pink");

                // 筛选出有<span>标签的元素集合
                //$("ul li").has("span").css("background","pink");

                // 筛选出没有title属性的元素集合
                //$("ul>li").not("[title]").css("background","pink");

                //1.2 查找

                // 查找ul的所有子标签,并且指定为li子标签
                //$("ul>li").css("background","pink");
                //$("ul").children("li").css("background","pink");

                // 查找ul下面所有的span标签
                //$("ul span").css("background","pink");
                //$("ul").find("span").css("background","pink");

                // 查找b标签的父元素标签
                //$("b").parent().css("background","pink");

                // 查找第三个li标签前面所有的兄弟标签
                //$("ul>li").eq(2).prevAll(0).css("background","pink");

                // 查找第三个li标签后面所有的兄弟标签,并且只能是li标签
                //$("ul>li").eq(2).nextAll("li").css("background","pink");

                // 查找第三个li标签所有的兄弟标签
                //$("ul>li").eq(2).siblings().css("background","pink");


                /* 二、 文档处理  */

                //2.1 增
                //--内部插入(前面和后面)
                //   插入到最后面(给ul中最后一个li中插入一个a标签)
                //$("ul>li").last().append("<a href='#'>嗨害嗨</a>");
                //$("<a href='#'>嗨害嗨</a>").appendTo($("ul>li").last());

                //   插入到最前面(给ul中第一个li中插入一个a标签)
                //$("ul>li").first().prepend("<a href='#'>嗨害嗨</a>");

                //--外部插入(之前和之后)
                //   在属性title为b的li前面插入一个a标签
                //$("ul>li").filter("[title=b]").before("<a href='#'>加自习</a>")

                //   在属性title为b的li后面插入一个a标签
                //$("ul>li").filter("[title=b]").after("<a href='#'>加自习</a>")

                //2.2 改                
                //把li下面所有的span标签替换为<a>标签
                //$("li span").replaceWith("<a href='#'>哈哈哈</a>");

                //2.3 删                
                //清空ul中所有li的内容
                //$("ul li").empty();

                //移除ul中所有的li
                //$("ul li").remove();

                //补充知识点:位置
                //1.富容器和大容器的区别
                // var a = $("#aa").offset();//大容器
                // console.info(a.top,a.left);
                // var b = $("#aa").position();//父容器
                // console.info(b.top,b.left);

//                 var a = $("#bb").offset(); //大容器
//                 console.info(a.top, a.left);
//                 var b = $("#bb").position(); //父容器
//                 console.info(b.top, b.left);
                
                //2.获取顶部距离=返回顶部
                $("#btn").click(function(){
                    //拿值
                    /* var a = $("body,html").scrollTop();
                    alert (a);*/
                    //赋值
                    $("body,html").scrollTop(0);
                })

})

知识归纳:

过滤:

        1.1.first():获取匹配的第一个元素
        1.2.last():获取匹配的最后一个元素
        1.3.eq(N):获取匹配的第N个或者-N个元素
        1.4.filter():筛选出预指定表达式匹配的元素集合
        1.5.has():筛选出包含特定特点的元素的集合
        1.6.not():筛选出不包含特定特点的元素的集合

文档处理:

①增:

外部插入
                1.2.1after():在匹配元素之后插入内容
                1.2.2before():在匹配元素之前插入内容

内部插入
                1.1.1append():将内容添加到指定的元素后面(appendTo())
                1.1.2prepend():将内容添加到指定元素前面(prependTo())

②删:

empty():清空内容

remove():移除

③:改

replaceWith():将所有匹配的元素换成指定的内容

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值