jQuery详细笔记

3 篇文章 0 订阅
1 篇文章 0 订阅
本文深入探讨jQuery框架,包括其核心函数`$()`、不同类型的入口函数,以及丰富的选择器如ID、类、层级和筛选器等。此外,还介绍了jQuery的事件处理,如鼠标和键盘事件,以及DOM操作如属性、CSS和文本处理。文章旨在帮助开发者更好地理解和应用jQuery来提高前端开发效率。
摘要由CSDN通过智能技术生成

jQuery

jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(框架)于2006年1月由John Resig发布。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。

jQuery函数

核心函数

  1. jQuery();

  2. $();

    核心函数里面可以放入变量、字符串、函数以及对象。

入口函数

//第一种
jQuery(document).ready(function(){
    console.log("第一种入口函数");
})
​
//第二种
$(document).ready(function(){
    console.log("第二种入口函数");
})
​
//第三种
jQuery(function(){
    console.log("第三种入口函数");
})
​
//第四种
$(function(){
    console.log("第四种入口函数");
})

JavaScript入口函数和jQuery入口函数的区别

  1. 原生js入口函数后面的会覆盖前面的入口函数,只有一个入口函数有效果,原生js入口函数会等待页面加载完成才能执行。

  2. jQuery入口函数分别执行,互不影响,页面打开就立即执行,不需要等待页面加载完成。

jQuery选择器

基本选择器

  1. id选择器

    $("#id选择器名称");

  2. element选择器(标签选择器)

    $("标签名")

  3. class选择器

    $(".class选择器名称")

  4. 全局选择器(*)

    $("*")

  5. 多选择器

    $("选择器名称,选择器名称,选择器名称")

层级选择器

  1. 多个选择器共同作用,前面的选择器用来筛选范围,最后一个选择器确定具体标签

    $("#one li").css("border","2px blue solid");

  2. 指定父标签下的直接子标签

    $("#one>.current").css("border","3px black solid");

  3. 指定标签下之后第一个复合要求的兄弟标签

    $("#one+ul").css("border","3px red solid");

  4. 指定标签下之后所有的复合要求的兄弟标签

    $(".action~li").css("border","3px blue solid");

基本筛选器

  1. 从复合选择器要求的基础上,选择第一个标签

    $("#two .current:first").css("border","3px blue solid");

  2. 从符合选择器要求的基础上,选择最后一个标签

    $(".current:last").css("border","3px red solid");

  3. 从符合选择器要求的基础上,筛选出没有使用过指定选择器的标签

    $("#two li:not(.current)").css("border","3px black solid");

  4. 从符合选择器要求的基础上,筛选下标为偶数的标签,下标从0开始

    $("#two li:even").css("background-color","#0c0c0c");

  5. 从符合选择器要求的基础上,筛选下标为奇数的标签,下标从0开始

    $("#two li:odd").css("background-color","#FFA500");

  6. 从符合选择器要求的基础上,筛选出指定下标的标签

    $("#two li:eq(2)").css("background-color","#FFA500");

  7. 从符合选择器要求的基础上,筛选出大于指定下标的标签

    $("#two li:gt(2)").css("background-color","#FFA500");

  8. 从符合选择器要求的基础上,筛选出小于指定下标的标签

    $("#two li:lt(2)").css("background-color","#FFA500");

内容选择器

通过两个标签之间的文本内同进行筛选,或者是两个标签之间的子标签

  1. 找出文本中包含指定字符的标签(也可以是子标签文本内容包含)

    $("li:contains(1)").css("border","3px red solid");

  2. 找出指定标签中没有任何文本内容或者没有任何子标签

    $("li:empty").css("border","3px blue solid");

  3. 从符合选择器要求的标签中,选择满足条件的父标签

    $("ul:has(.current)").css("border","3px black solid");

  4. 从符合要求的标签中,找出含有子标签或者内容的标签

    $("span:parent").css("border","3px red solid");

可见性选择器

  1. 从符合选择器要求的标签中,找出隐藏的标签

    $("img:hidden").css("display","block");

  2. 从符合选择器要求的标签中,找出显示的标签

    $("img:visible").css("display","none");

属性选择器

  1. 找出具有指定属性名称的标签

    $("img[title]").css("border-radius","50%");

  2. 找出具有指定属性名称并且具有指定属性值的标签

    $("img[title=123]").css("border-radius","50%");

  3. 找出具有指定属性名称并且属性值按照指定字符开头的标签

    $("img[title ^= 1]").css("border-radius","50%");

  4. 找出具有指定属性名称并且属性值按照指定字符结尾的标签

    $("img[title $= 3]").css("border-radius","50%");

  5. 找出具有指定属性名称并且属性值包含指定字符的标签

    $("img[title *= 1]").css("border-radius","50%");

  6. 找出同时具有多个指定属性名称的标签

    $("img[title][alt]").css("border-radius","50%");

子元素选择器

  1. 从符合要求的选择器里面,找出作为该父标签下的第一个子标签

    $("#two li:first-child").css("border","3px blue solid");

  2. 从符合要求的选择器里面,找出作为该父标签下的最后一个子标签

    $("#two li:last-child").css("border","3px blue solid");

  3. 从符合要求的选择器里面,找出作为该父标签下的指定位置的子标签,计数从1开始

    $("#two li:nth-child(2)").css("border","3px red solid");

  4. 从符合要求的选择器里面,找出作为该父标签下的唯一子标签

    $("li:only-child").css("border","3px black solid");

表单选择器

  1. 将所有带有input特性的标签选择上

    $(":input").css("width","200px");

  2. 选择出表单中type值为text的标签

    $(":text").css("border","3px blue solid");

  3. 选择出表单中type值为password的标签

    $(":password").css("border","3px blue solid");

  4. 选择出表单中type值为radio的标签

    $(":radio").css("width","100px");

  5. 选择出表单中type值为checkbox的标签

    $(":checkbox").css("width","100px");

  6. 选择出表单中可以提交数据特性的标签

    $(":submit").css("border","3px black solid");

  7. 选择出表单中可以达到重置特性的标签

    $(":reset").css("border","3px black solid");

  8. 选择出表单中选择出type值为button或者button标签

    $(":button").css("border","3px black solid");

  9. 选择出表单中选择出type值为image的标签

    $(":image").css("border","3px red solid");

  10. 选择出表单中选择出type值为file的标签

    $(":file").css("border","3px red solid");

表单对象选择器

  1. 获取可用的标签

    var temp = $("input:enabled");

  2. 获取不可用的标签

    var temp = $("input:disabled");

  3. 获取复选框中已经被勾选上的标签

    var temp = $("input:checked");

筛选

先使用选择器将符合要求的标签找到,再通过筛选的方法,进行进一步过滤,找到最终标签

过滤

  1. 从符合选择器要求的标签中,用方法筛选出第几个下标的标签

    $("li").eq(1);

  2. 从符合选择器要求的标签中,用方法筛选出第一个标签

    $("li").first();

  3. 从符合选择器要求的标签中,用方法筛选出最后一个标签

    $("li").last();

  4. 判断单个标签中是否使用了指定的class选择器的名称 返回的是布尔值

    $("li").hasClass("temp");

  5. 判断标签的子标签是否满足has中选择器的内容

    $("li").has(".temp");

  6. not(选择器)从符合要求的标签中,用方法过滤出没有使用过not指定的选择器

    $("li").not(".temp");

  7. slice(起始下标,结束下标) 根据下标的范围选定,取左不取右

    $("li").slice(1,3);

查找

  1. 找出指定父标签下符合要求的子标签(直接子标签)

    $("li").children();

  2. 找出指定父标签下所有符合要求的后辈标签

    $("li").find();

  3. 找到指定标签的下一个兄弟标签

    $("li").next();

  4. 找到指定标签的后续所有兄弟标签

    $("li").nextAll();

  5. 找到指定标签的上一个兄弟标签

    $("li").prev();

  6. 找到指定标签的前面所有兄弟标签

    $("li").prevAll();

  7. 除了自己的所有兄弟标签

    $("li").siblings();

  8. 找到指定标签的直接父标签

    $("li").parent();

  9. 找到指定标签的祖先满足条件的标签

    $("li").parents("div");

事件

鼠标事件

  1. 鼠标单击事件

    $("#out img").click(function(){

    console.log(this);

    });

  2. 鼠标双击事件

    $("#out img").dblclick(function(){

    console.log(this);

    });

  3. 鼠标移入事件

    $("img").mouseenter(function(){

    $(this).css("border-radius","50%").css("border","3px red solid");

    })

    $("img").mouseover(function(){

    $(this).css("border-radius","50%");

    })

  4. 鼠标移出事件

    $("img").mouseleave(function(){

    $(this).css("border-radius","10px").css("border","0px red solid");

    })

    $("img").mouseout(function(){

    $(this).css("border-radius","10px");

    })

  5. 鼠标移动事件

    $("img").mousemove(function(){})

键盘事件

  1. 键盘按下事件

    $(window).keydown(function(event){

    console.log("键盘被按下"+event.keyCode);

    })

  2. 键盘松开事件

    $(window).keyup(function(envet){

    console.log("键盘松开"+event.keyCode);

    })

表单事件

  1. 获取焦点事件

    $("#tel").focus(function(){

    console.log("聚焦");

    })

  2. 失去焦点事件

    $("#tel").blur(function(){

    console.log("失去焦点");

    })

  3. 内容做了改变事件

    $("#tel").change(function(){

    console.log("内容做了更改");

    })

属性

属性

标签中的属性操作

  1. 增加/删除属性:如果原标签中没有给属性,则表示新增属性,否则就是修改

    $("img").attr("属性名","值");

  2. 获取属性

    $("img").attr("属性名");

  3. 删除属性

    将属性值删除,属性名称仍然存在

    $("img").first().attr("title","");

    将整个属性都删除

    $("img").removeAttr("属性名");

CSS属性

只针对Class属性进行操作

  1. 添加class属性

    addClass("class名称");

  2. 删除class属性

    removeClass("class名称");

  3. 判断是否使用了class属性名称

    hasClass("class名称");

  4. 自动添加/删除class属性

    toggleclass("class名称");

文本

  1. html()获取子标签或者文本

  2. html("值")将原本的值进行替换(注意js注入问题输出标签文本要进行转义)

  3. text()获取文本

  4. text("值")将原本的值进行替换

  5. val()获取输入框中的值或者带有value属性的值

  6. val("值")给输入框或者带有value属性的进行赋值

文档操作

内部插入

在指定的父标签下,添加子标签

append("新标签")在指定的父标签内部插入,并且是作为最后一个子标签

prepend("新标签")在指定的父标签内部插入,并且是作为第一个子标签

外部插入

在指定位置添加新的标签

after("新标签")在指定的标签之后添加新的标签

before("新标签")在指定的标签之前添加新的标签

包裹

将已经存在的标签,添加一个新的父标签

wrap("新标签")

删除

empty()将指定父标签下的所有子标签及内容清空

remove()将指定的标签删除

定时器

setTimeout() 延迟一定时间才执行指定函数,只执行一次

setTimeout("函数名称()",时间单位毫秒)

clearTimeout(定时器名称)

setInterval() 每隔一段时间执行一次,直到定时器清除

BOM对象

实际用到的文档对象document实际属于window对象

window.document.getElementById("#user");

弹出框输出 window.alert();

弹出框输入 window.prompt();

获取当前浏览器body部分的高度和宽度

var width = window.innerWidth;

var height = window.innerHeight;

获取当前浏览器可见的高度和宽度

var w1 = window.screen.availWidth;

var h1 = window.screen.availHeight;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值