博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jQuery
阅读量:3937 次
发布时间:2019-05-23

本文共 12643 字,大约阅读时间需要 42 分钟。

目录

 

 


一、简介

定义:

jQuery 是一个 JavaScript 库。

jQuery 极大地简化了 JavaScript 编程。

jQuery 很容易学习。

jQuery库包含以下功能:

  • HTML 元素选取
  • HTML 元素操作
  • CSS 操作
  • HTML 事件函数
  • JavaScript 特效和动画
  • HTML DOM 遍历和修改
  • AJAX
  • Utilities

提示: 除此之外,Jquery还提供了大量的插件。

书写规则:

  支持链式操作;

  在变量前加"$"符号(var $variable = jQuery 对象);

  注:此规定并不是强制要求。

二、安装

网页中添加 jQuery

可以通过多种方法在网页中添加jQuery。 你可以使用以下方法:

  • 从 jQuery.com 下载 jQuery库
  • 从 CDN 中载入 jQuery, 如从Google中加载jQuery

下载 jQuery

有两个版本的 jQuery 可供下载:

  • Production version - 用于实际的网站中,已被精简和压缩。
  • Development version - 用于测试和开发(未压缩,是可读的代码)

以上两个版本都可以从  中下载。

jQuery 库是一个 JavaScript 文件,您可以使用 HTML 的 <script> 标签引用它:

<head>

<script src="jquery-3.3.1.js"></script>
</head>

提示: 将下载的文件放在网页的同一目录下,就可以使用jQuery。

lamp 您是否很疑惑为什么我们没有在 <script> 标签中使用 type="text/javascript" ?
在 HTML5 中,不必那样做了。JavaScript 是 HTML5 以及所有现代浏览器中的默认脚本语言!

 

三、查找元素

1、选择器

    1.1 基本选择器      $("*")  $("#id")  $(".class")  $("element")  $(".class,p,div")

    1.2层级选择器       $(".outer div")(所有的后代)  $(".outer>div")(所有的子代)   $(".outer+div")(匹配所有跟在.outer后面的div)  

          $(".outer~div")(.outer后面的所有div)

    1.3 基本筛选器      $("li:first")  $("li:eq(2)")  $("li:even")(偶数)  $("li:gt(1)")

$('li:first')    //第一个元素$('li:last')     //最后一个元素$("tr:even")     //索引为偶数的元素,从 0 开始$("tr:odd")      //索引为奇数的元素,从 0 开始 $("tr:eq(1)")    //给定索引值的元素$("tr:gt(0)")    //大于给定索引值的元素$("tr:lt(2)")    //小于给定索引值的元素$(":focus")      //当前获取焦点的元素$(":animated")   //正在执行动画效果的元素

    1.4 属性选择器      $('[id="div1"]')   $('["alex="sb"][id]')

    1.5 表单选择器      $("[type='text']") 简写成 $(":text")                    注意只适用于input标签

 

$(":input")      //匹配所有 input, textarea, select 和 button 元素$(":text")       //所有的单行文本框$(":password")   //所有密码框$(":radio")      //所有单选按钮$(":checkbox")   //所有复选框$(":submit")     //所有提交按钮$(":reset")      //所有重置按钮$(":button")     //所有button按钮$(":file")       //所有文件域 $("input:checked")    //所有选中的元素$("select option:selected")    //select中所有选中的option元素

2 筛选器

     2.1  过滤筛选器

     $("li").eq(2)  $("li").first()  $("ul li").hasclass("test") (检测li中的是否含有某个特定的类,有的话返回true)

$("p").eq(0)       //当前操作中第N个jQuery对象,类似索引$('li').first()    //第一个元素$('li').last()     //最后一个元素$(this).hasClass("test")    //元素是否含有某个特定的类,返回布尔值$('li').has('ul')  //包含特定后代的元素

     2.2  查找筛选器

      $("div").children(".test")(只考虑子元素,而不考虑所有的后代)    $("div").find(".test")  (考虑所有的后代)

      $(".test").next()    $(".test").nextAll()   $(".test").nextUntil() (开区间)

      $("div").prev()  $("div").prevAll()  $("div").prevUntil()

      $(".test").parent()  $(".test").parents()(祖先元素集合)  $(".test").parentUntil() 

      $("div").siblings() (所有的同辈元素不包括自己)

$("div").children()      //div中的每个子元素,第一层$("div").find("span")    //div中的包含的所有span元素,子子孙孙$("p").next()          //紧邻p元素后的一个同辈元素$("p").nextAll()         //p元素之后所有的同辈元素$("#test").nextUntil("#test2")    //id为"#test"元素之后到id为'#test2'之间所有的同辈元素,掐头去尾$("p").prev()            //紧邻p元素前的一个同辈元素$("p").prevAll()         //p元素之前所有的同辈元素$("#test").prevUntil("#test2")    //id为"#test"元素之前到id为'#test2'之间所有的同辈元素,开区间$("p").parent()          //每个p元素的父元素$("p").parents()         //每个p元素的所有祖先元素,body,html$("#test").parentsUntil("#test2")    //id为"#test"元素到id为'#test2'之间所有的父级元素,掐头去尾$("div").siblings()      //所有的兄弟元素,不包括自己

四、属性操作

1、基本属性操作

$("img").attr("src");           //返回文档中所有图像的src属性值$("img").attr("src","test.jpg");    //设置所有图像的src属性$("img").removeAttr("src");       //将文档中图像的src属性删除$("input[type='checkbox']").prop("checked", true);    //选中复选框$("input[type='checkbox']").prop("checked", false);$("img").removeProp("src");       //删除img的src属性
    
Title
是否可见是否可见
uuuuu

ppppp

2、CSS类

$("p").addClass("selected");      //为p元素加上 'selected' 类$("p").removeClass("selected");    //从p元素中删除 'selected' 类$("p").toggleClass("selected");    //如果存在就删除,否则就添加
    
Title

3、HTML代码/文本/值

$('p').html();               //返回p元素的html内容$("p").html("Hello Aaron!");  //设置p元素的html内容$('p').text();               //返回p元素的文本内容$("p").text("Aaron");           //设置p元素的文本内容$("input").val();             //获取文本框中的值$("input").val("Aaron");          //设置文本框中的内容

五、CSS操作

1、样式

$("p").css("color");          //访问查看p元素的color属性$("p").css("color","red");    //设置p元素的color属性为red$("p").css({ "color": "red", "background": "yellow" });    //设置p元素的color为red,background属性为yellow(设置多个属性要用{}字典形式)

2、位置

$('p').offset()     //元素在当前视口的相对偏移,Object {top: 122, left: 260}$('p').offset().top$('p').offset().left$("p").position()   //元素相对父元素的偏移,对可见元素有效,Object {top: 117, left: 250}$(window).scrollTop()    //获取滚轮滑的高度$(window).scrollLeft()   //获取滚轮滑的宽度$(window).scrollTop('100')    //设置滚轮滑的高度为10

3、尺寸

$("p").height();    //获取p元素的高度$("p").width();     //获取p元素的宽度$("p:first").innerHeight()    //获取第一个匹配元素内部区域高度(包括补白、不包括边框)$("p:first").innerWidth()     //获取第一个匹配元素内部区域宽度(包括补白、不包括边框)$("p:first").outerHeight()    //匹配元素外部高度(默认包括补白和边框)$("p:first").outerWidth()     //匹配元素外部宽度(默认包括补白和边框)$("p:first").outerHeight(true)    //为true时包括边距

实例:

    
Title

 六、文档处理

 1、内部插入

$("p").append("Aaron");    //每个p元素内后面追加内容$("p").appendTo("div");        //p元素追加到div内后$("p").prepend("Hello");  //每个p元素内前面追加内容$("p").prependTo("div");        //p元素追加到div内前

2、外部插入

$("p").after("Aaron");     //每个p元素同级之后插入内容$("p").before("Aaron");    //在每个p元素同级之前插入内容$("p").insertAfter("#test");     //所有p元素插入到id为test元素的后面$("p").insertBefore("#test");    //所有p元素插入到id为test元素的前面

3、替换

$("p").replaceWith("Paragraph. ");    //将所有匹配的元素替换成指定的HTML或DOM元素$("Paragraph. ").replaceAll("p");     //用匹配的元素替换掉所有 selector匹配到的元素

4、删除

$("p").empty();     //删除匹配的元素集合中所有的子节点,不包括本身$("p").remove();    //删除所有匹配的元素,包括本身$("p").detach();    //删除所有匹配的元素(和remove()不同的是:所有绑定的事件、附加的数据会保留下来)

5、复制

$("p").clone()      //克隆元素并选中克隆的副本$("p").clone(true)   //布尔值指事件处理函数是否会被复制

实例:

    
Title

PPP

七、事件

1、页面载入

  当页面载入成功后再运行的函数事件

$(document).ready(function(){  do something...});//简写$(function($) {  do something...});

2、页面处理

//bind 为每个匹配元素绑定事件处理函数,绑定多个用{}。$("p").bind("click", function(){  alert( $(this).text() );});$(menuF).bind({    "mouseover":function () {     $(menuS).parent().removeClass("hide");     },"mouseout":function () {     $(menuS).parent().addClass("hide");}});         $("p").one( "click", fun...)    //one 绑定一个一次性的事件处理函数$("p").unbind( "click" )        //解绑一个事件

3、页面委派

// 与bind 不同的是当时间发生时才去临时绑定。$("p").delegate("click",function(){  do something...});$("p").undelegate();       //p元素删除由 delegate() 方法添加的所有事件$("p").undelegate("click")   //从p元素删除由 delegate() 方法添加的所有click事件

实例:

    
Title
  • 1111
  • 2222
  • 3333
  • 4444

4、事件

$("p").click();      //单击事件$("p").dblclick();    //双击事件$("input[type=text]").focus()  //元素获得焦点时,触发 focus 事件$("input[type=text]").blur()   //元素失去焦点时,触发 blur事件$("button").mousedown()//当按下鼠标时触发事件$("button").mouseup()  //元素上放松鼠标按钮时触发事件$("p").mousemove()     //当鼠标指针在指定的元素中移动时触发事件$("p").mouseover()     //当鼠标指针位于元素上方时触发事件$("p").mouseout()     //当鼠标指针从元素上移开时触发事件$(window).keydown()    //当键盘或按钮被按下时触发事件$(window).keypress()   //当键盘或按钮被按下时触发事件,每输入一个字符都触发一次$("input").keyup()     //当按钮被松开时触发事件$(window).scroll()     //当用户滚动时触发事件$(window).resize()     //当调整浏览器窗口的大小时触发事件$("input[type='text']").change()    //当元素的值发生改变时触发事件$("input").select()    //当input 元素中的文本被选择时触发事件$("form").submit()     //当提交表单时触发事件$(window).unload()     //用户离开页面时

实例:(拖动框)

    
Title
标题
内容

5、(event object) 对象

所有的事件函数都可以传入event参数方便处理事件

$("p").click(function(event){   alert(event.type); //"click"  }); (evnet object)属性方法:event.pageX   //事件发生时,鼠标距离网页左上角的水平距离event.pageY   //事件发生时,鼠标距离网页左上角的垂直距离event.type   //事件的类型event.which   //按下了哪一个键event.data   //在事件对象上绑定数据,然后传入事件处理函数event.target  //事件针对的网页元素event.preventDefault()  //阻止事件的默认行为(比如点击链接,会自动打开新页面)event.stopPropagation()  //停止事件向上层元素冒泡

八、效果

1、基本

$("p").show()        //显示隐藏的匹配元素$("p").show("slow");    //参数表示速度,("slow","normal","fast"),也可为900毫秒$("p").hide()        //隐藏显示的元素$("p").toggle();      //切换 显示/隐藏
    
Title
hello

2、滑动

$("p").slideDown("900");    //用900毫秒时间将段落滑下$("p").slideUp("900");     //用900毫秒时间将段落滑上$("p").slideToggle("900");  //用900毫秒时间将段落滑上,滑下

实例:

    
Title
出现
隐藏
toggle
hello world

3、淡入淡出

$("p").fadeIn("900");        //用900毫秒时间将段落淡入$("p").fadeOut("900");       //用900毫秒时间将段落淡出$("p").fadeToggle("900");     //用900毫秒时间将段落淡入,淡出$("p").fadeTo("slow", 0.6);    //用900毫秒时间将段落的透明度调整到0.6

实例:

    
Title

九、对象访问

$.trim()   //去除字符串两端的空格$.each()   //遍历一个数组或对象,for循环$.inArray() //返回一个值在数组中的索引位置,不存在返回-1  $.grep()   //返回数组中符合某种标准的元素$.extend()  //将多个对象,合并到第一个对象$.makeArray() //将对象转化为数组$.type()    //判断对象的类别(函数对象、日期对象、数组对象、正则对象等等$.isArray() //判断某个参数是否为数组$.isEmptyObject() //判断某个对象是否为空(不含有任何属性)$.isFunction()    //判断某个参数是否为函数$.isPlainObject() //判断某个参数是否为用"{}"或"new Object"建立的对象$.support()       //判断浏览器是否支持某个特性

模拟each()内部实现机制:

    
Title

十、插件拓展机制

    
Title

111

222

333

$.extend({  min: function(a, b) { return a < b ? a : b; },    //三元运算  max: function(a, b) { return a > b ? a : b; }});$.min(2,3);     //2$.max(4,5);    //5

十一、实例

1、返回顶部

    
Title

1111

1111

1111

1111

1111

1111

返回顶部

2、正反选

    
Title

111
222
333
444

3、左侧菜单

    
Title

4、菜单切换

    
Title
内容一
内容二
内容三

5、添加与删除标签

    
Title

6、编辑框

    
选择 主机名 端口 状态
v1 v11 在线
v1 v11 下线
v1 v11 在线

7、模态对话框

    
Title
主机名 IP 端口 操作
c1.com 1.1.1.1 8888 Edit
c2.com 1.1.1.1 8888 Edit
c3.com 1.1.1.1 8888 Edit
.com 1.1.1.1 8888 Edit

8、商城商品放大镜

    
购物商城

 

综合项目:

 

转载地址:http://yezwi.baihongyu.com/

你可能感兴趣的文章
C# Winform跨窗口传递数据的几种情况
查看>>
SQL的各种连接Join详解
查看>>
C# WinForm 打開PDF文檔
查看>>
C#中各种数据类型可以表示的数据的范围
查看>>
Sql Server 中关于@@ERROR的一个小误区()
查看>>
sql中日期转化为各種字符串格式
查看>>
c# winform ,在一個類中如何調用另外窗體的控件或方法
查看>>
c# winform BackgroundWorker 控件的使用
查看>>
SQL中 EXCEPT、INTERSECT用法
查看>>
SQL Server中VARCHAR(MAX)和NVARCHAR(MAX)的使用(转载)
查看>>
C# 对json字符串转换操作
查看>>
jQuery plugin: Validation 使用说明
查看>>
外部程序用process.start调用 其它exe文件时可以传入参数.
查看>>
动态 增加/删除 控件的关联事件
查看>>
Datagridview 相关
查看>>
一个带事务的Sql Server存储过程例子
查看>>
VS WinForm 中 父Datagridview嵌套子DatagridView
查看>>
Winform datagridview绑定数据源后,无法以 Rows.Insert方法插入新行
查看>>
Linq平行作業的例子
查看>>
Datagridview 綁定list注意事項(轉)
查看>>