下载:

第一步:在官网下载jQuery:

https://jquery.com/

第二步:将下载的jQuery引入页面就可以开始使用:

<script src="jquery.js所在的路径"><\/script>

常用方法介绍:

一、选择器

jQ所有的选择器都是以数组的形式返回;
  1. id选择器:
$("#box1");  //box1为ID名
	注意:jq的DOM元素必须解析之后才可以用原生jsDOM属性和方法;
  1. class选择器
$(".cont") //类似css的class选择器
  1. 属性选择器
$("span [abc=hello][qwe]")  //选中span中有属性abc且值为hello 和有属性qwe的span标签
  1. 包含:后代
$(".msg h2")  //选中class为msg 中的所有 h2 标签
  1. 群组
$("#box,.cont,h2")  //选中页面中所有的ID为box  class为cont  标签h2的元素
  1. 下一个兄弟
$(".msg+span")
  1. 第一个或最后一个
$(".list li:first") //class为list内的第一个li标签
    $(".list li:last")  //class为list内的最后一个li标签

二、属性操作

1.prop
如果设置的是内置属性,会可见
如果设置的是自定义属性,会不可见

$("#box").prop("title","这是一个title"); //页面中可以看到title属性和值
    $("#box").prop("qwe","这是一个qwe"); //页面中无法看到属性qwe和值 因为这是一个自定义的属性  不可见

2.attr
内置和自定义属性都可以在页面中显示

$("#box").attr("title","这是一个title"); //页面中可见title属性和值
    $("#box").attr("qwe","这是一个qwe"); //页面中可见qwe属性和值

三、样式操作

jQuery样式的操作方法为$("#box").css()
当接收的参数为一个时:
			字符:获取
			对象:批量设置
			数组:批量获取
当接收的参数为两个时:
			第一个为要设置的属性;
			第二个为要设置的值
$("#box").css("width","100px"); //设置元素ID为box的宽为100  可以不写px
	$("#box").css({
        width:"100px",
        height:200,
        background:"red",
        opacity:0.5,
        fontSize:30,
        lineHeight:"100px"
    });  //设置多个属性和值
	$("#box").css("width") //获取改元素的宽

四、元素的内容操作

  1. html:封装了原生js的innerHTML
$("#box").html(""); //设置内容为空 即删除#box内的所有内容
    $("#box").html("hello"); //设置内容为hello 如果已有内容则是将所有内容修改为hello
    $("#box").html("<h1 abc='qwe'>hello</h1>");//在#box加入标签, 如果已有内容则是将所有内容修改为h1标签
  1. text:封装了原生js的innerText
$("#box").text("");//设置内容为空 即删除#box内的所有内容
    $("#box").text("hello");//设置内容为hello 如果已有内容则是将所有内容修改为hello
    $("#box").text("<em>hello</em>");//设置内容为hello 如果已有内容则是将所有内容修改为<em>hello</em>  注意:与原生js的innerText一样无法读取标签 输入什么就显示什么
  1. val:封装了原生js的value
$("input").val("");//设置value为空
    $("input").val("hahaha");//设置value为hahaha
    $("input").val("<b>hahaha</b>");//设置value为<b>hahaha</b>  无法识别标签  输入什么就显示什么

五、事件的绑定

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

    $("#box").off("click.c1"); //删除名为c2的点击事件
  1. one方法:绑定一次性事件,触发之后,自动删除
$("#box").one("click",function(){  //点击一次之后,此点击事件自动删除
        console.log(1);
    	})
  1. 基础绑定,直接使用事件名绑定
$("#box").click(function(){
        console.log("点击")
    })
    $("#box").mousemove(function(){
        console.log("移动")
    })
    $("#box").dblclick(function(){
        console.log("双击")
    })
    $("#box").mousedown(function(){
        console.log("按下")
    })
  1. hover方法绑定事件
    进入:mouseentwe
    离开:mouseleave
    不带事件冒泡
$("#box").hover(function(){
        console.log("鼠标进入")
    	},function(){
        console.log("鼠标离开")
    	})
  1. ready方法绑定事件
    加载
$(document).ready(function(){
        console.log("页面结构加载完成")
    })

六、jq的DOM操作

元素节点
  1. 创建:
var s = $("<span>"); //创建span标签
  1. 插入
    要插入的父元素.appendChild(ele);
    append:插入指定父元素的最后一个子元素
$("#box") //被s插入了
    $("#box").append(s);
    
    s.appendTo($("#box")); //把s插入到$("#box")中
prepend:插入指定父元素的第一个子元素
$("#box").prepend(s);
    s.prependTo($("#box"));
before:给指定元素,添加上一个兄弟
$("#box").before(s);
after:给指定元素,添加下一个兄弟
$("#box").after(s);
  1. 删除
$(".box").remove();  //删除指定元素
	 $("#box").empty(); // 删除所有子元素
  1. 修改
$("#box").replaceWith() //获取标签自身同时删除自己
  1. 克隆
var b = $("#box").clone(); //没参数 默认为false
        $("body").append(b); 
	
	var b = $("#box").clone(true); //参数为true  除了克隆结构,还会克隆事件
        $("body").append(b);

七、jQ的元素的尺寸类获取

console.log($("#box").innerWidth());    // width + padding
    $("#box").innerWidth(200);      // 抵消掉padding,剩下的全给width

    console.log($("#box").outerWidth());    // width + padding + border
    ("#box").outerWidth(300);      // 抵消掉padding+border,剩下的全给width

    console.log($("#box").offset());    // margin + position
    console.log($("#box").offset().left);    // margin + position
    console.log($("#box").offset().top);    // margin + position
     $("#box").offset({left:100,top:100});  // 抵消掉margin,剩下的全给position


    console.log($("#box").position());    // position
    console.log($("#box").position().left);    // position
    console.log($("#box").position().top);    // position