jQuery总结

jQuery

  • jQuery 实现了一套与原生 js 一样的方法处理,只不过方法缩短内容,更简易,使用多个浏览器
  • 要想使用 jQuery 就必须使用 jQuery 对象,不能使用 DOM 对象操作 jQuery 方法

一、jQuery 对象和 DOM 对象

  • $() === function jQuery(){}

  • $("div") === document.querySelectorAll("div")

  • DOM 转换 jQuery

    var divs = document.querySelector('div');
    $(divs); // DOM 变成 jQuery
    
  • jQuery 转换 DOM

    1.$("div")[0]
    2.$("div").get(0)
    3.Array.from($("div"))
    

二、选择器

  • $(‘div’);
    • 获取标签是 div 的元素
  • $(’.div1’);
    • 获取类名是 div1 的元素
  • $(’#div1’);
    • 获取 id 是 div1 的元素
  • $(‘div.div1’);
    • 获取标签是 div 并且类名是 div1 的元素
  • $(‘div .div1’);
    • 获取父元素标签是 div 并且类名是 div1 的子代元素
  • $(’.div1+.div2’);
    • 获取类名是 div1 的下一个类名是 div2 的兄弟元素
  • $(’.div1~div’);
    • 获取标签是 div 的之后类名是 div1 的兄弟元素
  • $(’.div1>.div2’);
    • 获取类名是 div1 的类名是 div2 的直接子代元素
  • $(‘div[name]’);
    • 获取包含 name 属性的元素
  • $(‘div[name=a]’);
    • 获取属性包含 name 并且值是 a 的元素
  • $(‘div[name!=a]’);
    • 获取属性包含 name 并且值不是 a 的元素
  • $(‘div[name^=a]’);
    • 获取属性包含 name 并且值是以 a 开头的元素
  • ( ′ d i v [ n a m e ('div[name (div[name=a]’);
    • 获取属性包含 name 并且值是以 a 结束的元素
  • $(‘div[name*=a]’);
    • 获取属性包含 name 并且值包含 a 的元素
  • $(‘div[name|=a]’);
    • 获取属性包含 name 并且值是 a 或者值是 a 起头的后面紧跟 连接符(-) 的元素
  • $(‘div[name~=a]’);
    • 获取属性包含 name 并且值是 a 或者 name 中有 a 并且前后用空格区分的元素

三、过滤器

  • $(“li:first”)
    • 把所有 li 放在一个列表里,选择这个列表的第一个
  • $(“li:first-child”)
    • 选择当前选择器父元素的第一个子元素,如果是 li 就选择,如果不是就不选择
  • $(“li:first-of-type”)
    • 选择当前选择器父元素的第一个是 li 的子元素,如果第一个不是就往下寻找
  • $(“li:last”) - 同 first
  • $(“li”).last() - 同 first
  • $(“li:last-child”) - 同 first
  • $(“li:last-of-type”) - 同 first
  • $(“li:nth-child(1)”)
    • 选择当前选择器父元素的第二个子元素的所有 li 元素
  • $(“nth-of-child(1)”)
    • 选择当前选择器附院四的第二个 li 子元素的所有 li 元素
  • $(“li:even”)
    • 所有 偶数 li 元素,从 0 开始
  • $(“li:odd”)
    • 所有 奇数 li 元素,从 0 开始
  • $(“li:eq(3)”)
    • 选择第 3 个 li 元素
  • $(“li”).eq(3)
    • 选择第 3 个 li 元素,速度比上面的快
  • $(“li:gt(2)”)
    • 选择 index 大于 3 的元素
  • #(“li:lt(2)”)
    • 选择 index 小于 3 的元素
  • $(“li.li0”).siblings()
    • 选择 li 的所有兄弟元素
  • $(“li.li0”).next()
    • 选择下一个 相邻 兄弟元素
  • $(“li.li0”).nextAll()
    • 选择所有向下兄弟元素
  • $(“li.li0”).nextUntil(".li1")
    • 向下选择到 li1 之间的兄弟元素
  • $(“li.li0”).prev()
    • 选择相邻向上的兄弟元素
  • $(“li.li0”).prevAll()
    • 选择相邻向上所有兄弟元素
  • $(“li.li1”).prevUntil(".li0")
    • 向上选择到 li0 之间的兄弟元素
  • $(“ul”).children()
    • 选择所有子元素
  • $(".li1").parent()
    • 选择父元素
  • $(.li1).parents()
    • 选择父元素列表
  • $(".li1").parentsUntil(“body”)
    • 选择到 body 之内的父元素列表
  • $(":header")
    • 选择所有 h1-h6 的元素
  • $(":animated")
    • 选择所有 animata 动画元素
  • $(":focus")
    • 选择当前获取焦点的表单元或者超链接
  • $(“li:empty”)
    • 选择空元素
  • $(“li:parent”)
    • 选择有子元素或者后代元素的元素
  • $(“ul:has(.li0)”)
    • 选择 ul 中子代后代 类名是 li0 的元素
  • $(":hidden")
    • 选择 隐藏 标签
  • $(":visible")
    • 选择所有 可见 标签

四、遍历和设置内容

1.遍历

var arr = [3, 4, 5, 6, 7, 8];

$.each(arr.function(index,value){
  console.log(index, value)
})

2.设置内容

  • 设置文本内容

    • $("div").text("你好")
  • 设置不同的内容

    var arr = [3, 4, 5, 6, 7, 8];
    
    $('div').text(function (index, item) {
      return arr[index];
    });
    
  • 设置 html 内容

    • $(“div”).html("")
  • 获取 内容

    • $(“div”).html()
  • 设置值 等同于 value

    • $(“input”).val(‘123’)
  • 获取值 等同于 value

    • $(“input0”).val()

3.设置数据

  • 设置 DOM 标签属性

    • $(“div”).attr()
    $('div').attr('a', '10');
    $('div').attr({
      a: 1,
      b: 2,
      c: 3,
    });
    
  • 删除 标签属性

    • $(“div”).removeAttr(“a”)
  • 设置 DOM 对象属性

    • $(“div”).prop()
    $('div').prop('ab', 3);
    
  • 删除 对象属性

    • $(“div”).removeProp(“a”)
  • 设置 DOM 的数据

    • $(“div”).data()
    $('div').data('id', 'aaa');
    
  • 删除 数据
    $(“div”).removeData(“id”);

4.设置样式

  • 设置单个
    • $(“div”).css(“属性名”,“属性值”)
  • 设置多个
    • $(“div”).cas({对象,键值对})

5.获取样式

  • 获取单个
    • $(“div”).css(“样式名”)
  • 获取多个
    • $(“div”).css([‘样式名数组’])
  • 获取宽度
    • .width
      • 包含所有
    • innerWidth
      • windth - padding
    • outerWidth
      • width - padding - border
    • outerWidth(true) — 之能获取不能设置
      • width - padding - border -margin

6.添加/删除类名

  • 添加类名
    • $(“div”).addClass(“类名”)
  • 删除类名
    • $(“div”).removeClass(“类名”)

五、DOM 操作

1.创建一个 DOM 对象

  • var div = $("
    ")

2.给 body 中添加一个 div

  • $(“div”).append("
    ")

3.把 div 放在 body 的最前面

  • $(“body”).append("
    ")
  • $("
    ").prependTo(“body”)

4.个兄弟元素上面插入

  • $(“div”).befor("

    ")
  • $("

    ").insertBefore(“div”)

5.给兄弟元素的下面插入

  • $(“div”).after("

    ")
  • $("

    ").insertAfter(“div”)

6.给 span 包裹一层 div

  • $(“span”).wrap("
    ")

7.给所有 span 外面包裹一层 div

  • $(“span”).wraoAll("
    ")

8.给 span 的所有子元素包裹一层 a 标签

  • $(“span”).wrapInner("")

9.赋值节点

  • clone(false,true)

    • 第一个参数:是否复制事件和数据
    • 第二个参数:是否复制后代元素的事件和数据

10.删除元素节点

var div = $("div").click(function(){})

  • div.remove()
    • 除了删除元素节点以外,还删除元素的事件
  • div.detach()
    • 仅删除元素,不删除事件
  • div.empty()
    • 删除 div 中所有子代元素 清空子元素

11.替换标签

  • $(“div”).replaceWith("

    ")
  • $("

    ").replaceAll(“div”)

未完待续

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值