JQuery中的DOM、查找、过滤、浅了解一下ajax

一、DOM

1.1 追加元素

内部追加,追加的元素变成子元素

  • append 追加,元素内部后面追加

  • prepend 追加,元素内部前面追加

外部追加,追加的元素变成了兄弟元素

  • after 追加,元素外部后面追加

  • before 追加,元素外部前面追加

 <!-- 追加、删除 -->
    <div id="box" style="width: 200px;height: 200px;border: 2px red solid;">
        <div id="innerbox" style="background-color: skyblue;width: 50px;height: 50px;">
        </div>
    </div>
    <button id="btn1">内部 后面 追加</button>
    <button id="btn2">内部 前面 追加</button><br>
    <button id="btn3">外部 后面 追加</button>
    <button id="btn4">外部 前面 追加</button><br><br>

    <script src="../JS/jquery-2.1.0.js"></script>
    <script>
        // 内部后面追加
        $("#btn1").click(() => {
            $("#box").append("<div style='background-color: aqua;width: 50px;height: 50px;'></div > ");
        })
        // 内部前面追加
        $("#btn2").click(() => {
            $("#box").prepend("<div style='background-color: lightgreen;width: 50px;height: 50px;'></div > ");
        })
        // 外部后面追加
        $("#btn3").click(() => {
            $("#box").after("<div id='outbox' style='background-color: yellow;width: 50px;height: 50px;'></div > ");
        })
        // 外部前面追加
        $("#btn4").click(() => {
            $("#box").before("<div  id='outbox' style='background-color: red;width: 50px;height: 50px;'></div > ");
        })
</script>

1.2 删除元素

删除元素

  • empty() 删除子元素及内容,保留自己

  • remove() 删除全部元素,包括自己

  • remove(选择器) 删除指定选择器选到的元素

 <button id="btn5">删除元素 - empty</button>
    <button id="btn6">删除元素 - remove</button><br>
    <button id="btn7">删除元素 - remove(选择器)</button><br>

<script src="../JS/jquery-2.1.0.js"></script>
    <script>
// 删除所有内部元素(删除子元素,保留自己)
        $("#btn5").click(() => {
            $("#box").empty();
        })
        // 删除所有内部元素 包括自己
        $("#btn6").click(() => {
            $("#box").remove();
        })
        // 通过选择器选到 多个 元素后才可以用
        // 然后使用remove指定选择器,删除指定元素
        $("#btn7").click(() => {
            $("div").remove("#outbox");
        })
    </script>

二、JQuery筛选查找

2.1 过滤


    <!-- 筛选 -->
    <p>第1段</p>
    <p>第2段</p>
    <p id="p3">第3段</p>
    <p>第4段</p>
    <p>第5段</p>
    <button id="btn1">first</button>
    <button id="btn2">last</button>
    <button id="btn3">eq</button>
    <button id="btn4">not</button> <!-- 取反-->
    <button id="btn5">filter</button>
    <script src="../JS/jquery-2.1.0.js"></script>
    <script>
        $("#btn1").click(() => {
            $("p").first().css("color", "blue");
        })
        $("#btn2").click(() => {
            $("p").last().css("color", "red");
        })
        $("#btn3").click(() => {
            // 获得指定下标(从0开始)
            $("p").eq(1).css("color", "yellow");
        })
        $("#btn4").click(() => {
            // 除了某些(传的参数是jq对象)
            $("p").not($("#p3")).css("color", "pink");
        })
        $("#btn5").click(() => {
            // 只选择某些(传的参数是选择器)
            $("p").filter("#p3").css("color", "pink");
        })
    </script>
    <br>

2.2 查找

查找祖先

  • parent() 直接父级

  • parents() 查找所有祖先,包括到html根标签

  • parentsUntil(元素) 返回所有父级,直到指定元素停止

查找后代

  • children() 返回直接后代(子)

  • find(选择器) 返回所有后代,再根据指定选择器过滤

查找兄弟

  • siblings() 所有兄弟

  • next() 下一个兄弟

  • prev() 上一个兄弟

 <!-- 查找 -->
    <div id="box1" style="width: 400px;height: 400px;border: 2px solid red;">
        <div id="box2" style="width: 300px;height: 300px;border: 2px solid rgb(89, 0, 255);">
            <div id="box3" style="width: 50px;height: 50px;border: 2px solid rgb(0, 255, 55);"> 3</div>
            <div id="box4" style="width: 50px;height: 50px;border: 2px solid rgb(0, 255, 55);"> 4</div>
            <div id="box5" style="width: 50px;height: 50px;border: 2px solid rgb(0, 255, 55);"> 5</div>
            <div id="box6" style="width: 50px;height: 50px;border: 2px solid rgb(0, 255, 55);"> 6</div>
            <div id="box7" style="width: 50px;height: 50px;border: 2px solid rgb(0, 255, 55);"> 7</div>
        </div>
    </div>
    <button id="btn-1">查找父级</button>
    <button id="btn-2">查找所有祖先</button>
    <button id="btn-3">查找所有祖先直到</button>
    <br>
    <button id="btn-4">查找直接后代</button>
    <button id="btn-5">查找所有后代</button>
    <br>
    <button id="btn-6">查找所有兄弟</button>
    <button id="btn-7">查找上一个兄弟</button>
    <button id="btn-8">查找下一个兄弟</button>
    <script>
        // 直接父级
        $("#btn-1").click(() => {
            $("#box4").parent().css("background-color", "pink");
        })
        // 查找所有祖先,直到html根标签
        $("#btn-2").click(() => {
            $("#box4").parents().css("background-color", "pink");
            console.log($("#box4").parents())
        })
        $("#btn-3").click(() => {
            // 获得所有祖先,直到指定的元素停止(不包含指定元素)
            $("#box4").parentsUntil("body").css("background-color", "pink");
            console.log($("#box4").parentsUntil("body"));
        })

        $("#btn-4").click(() => {
            // 获得子集,没有获得孙子集
            $("#box1").children().css("border", "9px solid black");
        })
        $("#btn-5").click(() => {
            // 获得所有后代,后再通过find指定的选择器过滤剩下的
            $("#box1").find("*").css("border", "10px solid black");
        })

        $("#btn-6").click(() => {
            // 获得所有兄弟()
            $("#box5").siblings().css("background-color", "skyblue");
        })
        $("#btn-7").click(() => {
            // 获得上一个兄弟()
            $("#box5").prev().css("background-color", "blue");
        })
        $("#btn-8").click(() => {
            // 获得下一个兄弟()
            $("#box5").next().css("background-color", "red");
        })
    </script>

三、Ajax

ajax 是异步JavaScript和XML(Asynchronous JavaScript and XML)

  • 异步,页面中科院同时进行多个事情

  • 经典案例: 注册框,输入完用户名直接提示"已注册"

  • 这就是异步,也就是局部刷新

使用ajax与服务器进行异步交互,向服务器发送数据,接收服务器发来的数据

3.2 $.get

get请求一般用来从服务器获得数据,一般就是用来查询数据

// $.get() 可以向服务器发送一个get请求

// $.get(url, [data], [callback], [type])

// url是服务器路径,必填

// data,是向服务器发送的数据,可选

// callback,请求完成后的回调函数,可选

// type,返回内容类型,可选

 <body>
    <button id="btn">$.get --> go</button>
    <table border="2" id="tb-users">
      <tr>
        <td>编号</td>
        <td>姓名</td>
        <td>分数</td>
        <td>班号</td>
        <td>生日</td>
        <td>组号</td>
      </tr>
    </table>
    <script src="./js/jquery-2.1.0.js"></script>
    <script>
      $("#btn").click(function () {
        // 发送ajax的get请求
        // 回调函数是,请求完成后执行的函数
        // 回调函数中,设置一个参数,参数就是服务器返回的数据
   $.get("https://www.fastmock.site/mock/5c9f6e1ec0552bd6a3f2a62cb823edc0/qiushiju/users",
          function (ret) {
            alert("发送请求成功!");
            console.log(ret);
            if (ret.status == 200) {
              var dataArr = ret.data;
              for (var i = 0; i < dataArr.length; i++) {
                var user = dataArr[i];
                $("#tb-users").append("<tr>"+
                    "<td>"+user.sid+"</td>"+
                    "<td>"+user.sname+"</td>"+
                    "<td>"+user.score+"</td>"+
                    "<td>"+user.cid+"</td>"+
                    "<td>"+user.sbirthday+"</td>"+
                    "<td>"+user.zid+"</td>"+
                    "</tr>")
              }
            }
          }
        );
      });
    </script>
  </body>
</html>

4.3 $.post

post一般是向服务器发送数据的,一般是用来添加

4.4 $.ajax

$.ajax (json)向服务器发送请求,这种写法很灵活,可以设置请求中的任何参数

$.ajax({
    url:"",   // 服务器路径
    type:"",  // 请求方式,默认是get
    data:"",  // 向服务器发送的数据
    success:function(ret){  // 成功的回调函数,参数就是服务器返回的数据
        
    },
    error:function(){ // ajax请求失败执行的回调函数
        
    }

});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值