jQuery的基本操作

当你使用了jQuery的的时候,所有事情都变得简单方便起来,但是会用嘛?
接下来我就分享一下一些jQuery的基本操作
html:封装了原生js的innerHTML
原生js的innerHTML是属性
原生js的innerHTML是通过赋值
jq的html是方法
jq的html是传参设置
可以用来干什么呢,实现基本所有原生js的html的操作

 $("#box").html("");//清空html
 $("#box").html("htllo");//添加
  $("#box").html("<h1 abc=`qwe`>hello</h1>");//直接覆盖原有的标签

text:封装了原生js的innerText

$("#box").text("");//同样删除
$("#box").text("worl") //修改
 $("#box").text("<em>wwwww</em>");//并不能设置标签,但是能修改html

val:封装了js的value(表格里使用的元素标签)

 $("input").val("");//删除
 $("input").val("hahaha");//设置
 $("input").val("<b>hahaha</b>");//不能修改标签

原生js的className是覆盖,jq是添加

$(".box").addClass("blue border red");
 // 删除class,不是清空
    // $(".box").removeClass("border blue");
     // 清空class,其实就是配合属性
    // $(".box").prop("class","");
    // $(".box").attr("class","");

    // 判断当前有,删除;如果没有,添加
    // document.onclick = function(){
    //     $(".box").toggleClass("fontsize");
    // }

    // 判断是否具有class:有true,没有false
    // console.log($(".box").hasClass("red"));

还有jq中的事件绑定:都是DOM2级,意味着全部可以重复绑定。
1.on绑定,off删除
on绑定可以实现事件委托,及,向事件处理函数中传参
on的参数:
1.事件类型,还可以起名,为了将来删除方便
2.事件委托的元素,可省略
3.向事件处理函数中传递的数据,可省略
4.事件处理函数,注意,如果向时间里出函数中传参了,那么要通过事件对象的data属性找到
off删除,删除事件类型+名字

可以查看一下

//事件后面是事件起的名字,通过名字来操控删除
$("#box").on("click.c1",".aa","hello",function(eve){
          console.log(eve);
          console.log(eve.data);
         console.log(1);
         console.log(this);
     });
     $("#box").off("click.c1");//这个就是删除了

还有这些基础绑定,直接使用事件名绑定就好了

$("#box").click(function(){
         console.log("点击")
    })
     $("#box").mousemove(function(){
         console.log("移动")
     })
     $("#box").dblclick(function(){
         console.log("双击")
     })
     $("#box").mousedown(function(){
         console.log("按下")
     })
    

ready方法绑定事件:
原生:document.onload
jq:

 $(document).ready(function(){
         console.log("页面结构加载完成")
     })

     window.onload
     $(window).ready(function(){
         console.log("页面和资源都加载完成")
     })

模拟事件执行,这个看似无用,其实还有用/

trigger:会触发事件冒泡
triggerHandler:不会触发事件冒泡

setInterval(()=>{
         $("#box").triggerHandler("click");
     },1000)

总结:
on绑定(只能使用off删除),one绑定,hover绑定(进入和离开),trigger模拟执行,ready绑定(加载),基础绑定(所有事件都支持)
事件对象:
兼容不用处理了
事件对象身上的属性原来怎么用现在还怎么用
事件对象身上的事件冒泡,兼容解决了
事件对象身上的阻止默认事件,兼容解决了
事件处理函数中的:
return false
既可以阻止冒泡,又可以阻止默认

然后就是元素节点:
创建:

document.createElement("div")
          console.log($("<div>"));
          var s = $("<span>");

插入

  // 要插入的父元素.appendChild(ele);
        // append:插入指定父元素的最后一个子元素
        // $("#box")被s插入了
        // $("#box").append(s);

        // 把s插入到$("#box")中
        // s.appendTo($("#box"));
        
        // prepend:插入指定父元素的第一个子元素
        // $("#box").prepend(s);
        // s.prependTo($("#box"));

        // before:给指定元素,添加上一个兄弟
        // $("#box").before(s);

        // after:给指定元素,添加下一个兄弟
        // $("#box").after(s);
         修改
        // 获取标签自身同时删除自己
        // console.log($("#box").replaceWith());

        // 传字符的参数,会修改标签
        // $("#box").replaceWith("<span id='"+ $("#box").attr("id") +"'>"+ $("#box").html() +"</span>");
        
    // 克隆
        // $("#box").click(function(){
        //     console.log(1);
        // })

        // var b = $("#box").clone();
        // $("body").append(b);

        // 除了克隆结构,还会克隆事件
        // var b = $("#box").clone(true);
        // $("body").append(b);


jq的内置动画:

 // 当前这一波动画效果为:显示或隐藏
    // 固定的,只能显示,或隐藏
    // 而且,方向不可改变,大小不可改变
    // 除了运动时间,什么都不能改

    // 隐藏,显示
    $("#btn1").click(function(){
        $("#box").hide(200,"linear",function(){
            alert("动画结束了")
        });
    })
    $("#btn2").click(function(){
        $("#box").show(200);
    })
    $("#btn3").click(function(){
        $("#box").toggle(200);
    })

    // 上拉,下拉
    $("#btn4").click(function(){
        $("#box").slideUp(1000);
    })
    $("#btn5").click(function(){
        $("#box").slideDown(1000);
    })
    $("#btn6").click(function(){
        $("#box").slideToggle(1000);
    })

    // 淡出,淡入
    $("#btn7").click(function(){
        $("#box").fadeOut();
    })
    $("#btn8").click(function(){
        $("#box").fadeIn();
    })
    $("#btn9").click(function(){
        $("#box").fadeToggle();
    })

    $("#btn10").click(function(){
        $("#box").fadeTo(1000,0.2);
    })

这些都受限制,可以了解一下自定义动画
关键词animate

  $("#btn1").click(function(){
        $("#box").animate({
            width:0,
            height:0,
            left:50,
            top:80
        },2000,function(){
            alert("结束了");
        });
    })

总结:方便好用,但是提醒一下哈,原生js才是正道,不要被jQuery等等这些框架给宠坏了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值