一、简介

 

定义 
  jQuery创始人是美国John Resig,是优秀的Javascript框架;

  jQuery是一个轻量级、快速简洁的javaScript库。

jQuery对象 
  jQuery产生的对象时jQuery独有的,只能自己调用

书写规则 
  支持链式操作;

  在变量前加””符号(var”符号(varvariable = jQuery 对象);

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

二、寻找元素

 

选择器 
基本选择器、层级选择器、属性选择器 与CSS类似,这里不再细说,详细猛戳这里。

基本筛选器

$('li:first')    //第一个元素

$('li:last')     //最后一个元素

 

$("tr:even")     //索引为偶数的元素,从 0 开始

$("tr:odd")      //索引为奇数的元素,从 0 开始

 

$("tr:eq(1)")    //给定索引值的元素

$("tr:gt(0)")    //大于给定索引值的元素

$("tr:lt(2)")    //小于给定索引值的元素

 

$(":focus")      //当前获取焦点的元素

$(":animated")   //正在执行动画效果的元素

内容选择器

$("div:contains('nick')")    //包含nick文本的元素

$("td:empty")    //不包含子元素或者文本的空元素

$("div:has(p)")  //含有选择器所匹配的元素

$("td:parent")   //含有子元素或者文本的元素

表单选择器

$(":input")      //匹配所有 input, textarea, select 和 button 元素

$(":text")       //所有的单行文本框

$(":password")   //所有密码框

$(":radio")      //所有单选按钮

$(":checkbox")   //所有复选框

$(":submit")     //所有提交按钮

$(":reset")      //所有重置按钮

$(":button")     //所有button按钮

$(":file")       //所有文件域

 

$("input:checked")    //所有选中的元素

$("select option:selected")    //select中所有选中的option元素

筛选器 
过滤

$("p").eq(0)       //当前操作中第N个jQuery对象,类似索引

$('li').first()    //第一个元素

$('li').last()     //最后一个元素

$(this).hasClass("test")    //元素是否含有某个特定的类,返回布尔值

$('li').has('ul')  //包含特定后代的元素

查找

$("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()      //所有的同辈元素,不包括自己

三、属性操作

 

基本属性操作

$("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属性

CSS类

$("p").addClass("selected");      //为p元素加上 'selected' 类

$("p").removeClass("selected");    //从p元素中删除 'selected' 类

$("p").toggleClass("selected");    //如果存在就删除,否则就添加

HTML代码/文本/值

$('p').html();               //返回p元素的html内容

$("p").html("Hello <b>nick</b>!");  //设置p元素的html内容

$('p').text();               //返回p元素的文本内容

$("p").text("nick");           //设置p元素的文本内容

$("input").val();             //获取文本框中的值

$("input").val("nick");          //设置文本框中的内容

四、CSS操作

 

样式

$("p").css("color");          //访问查看p元素的color属性

$("p").css("color","red");    //设置p元素的color属性为red

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

位置

$('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')    //设置滚轮滑的高度为100

尺寸

$("p").height();    //获取p元素的高度

$("p").width();     //获取p元素的宽度

 

$("p:first").innerHeight()    //获取第一个匹配元素内部区域高度(包括补白、不包括边框)

$("p:first").innerWidth()     //获取第一个匹配元素内部区域宽度(包括补白、不包括边框)

 

$("p:first").outerHeight()    //匹配元素外部高度(默认包括补白和边框)

$("p:first").outerWidth()     //匹配元素外部宽度(默认包括补白和边框)

$("p:first").outerHeight(true)    //为true时包括边距

五、文档处理

 

内部插入

$("p").append("<b>nick</b>");    //每个p元素内后面追加内容

$("p").appendTo("div");        //p元素追加到div内后

$("p").prepend("<b>Hello</b>");  //每个p元素内前面追加内容

$("p").prependTo("div");        //p元素追加到div内前

外部插入

$("p").after("<b>nick</b>");     //每个p元素同级之后插入内容

$("p").before("<b>nick</b>");    //在每个p元素同级之前插入内容

$("p").insertAfter("#test");     //所有p元素插入到id为test元素的后面

$("p").insertBefore("#test");    //所有p元素插入到id为test元素的前面

替换

$("p").replaceWith("<b>Paragraph. </b>");    //将所有匹配的元素替换成指定的HTML或DOM元素

$("<b>Paragraph. </b>").replaceAll("p");     //用匹配的元素替换掉所有 selector匹配到的元素

删除

$("p").empty();     //删除匹配的元素集合中所有的子节点,不包括本身

$("p").remove();    //删除所有匹配的元素,包括本身

$("p").detach();    //删除所有匹配的元素(和remove()不同的是:所有绑定的事件、附加的数据会保留下来)

复制

$("p").clone()      //克隆元素并选中克隆的副本

$("p").clone(true)   //布尔值指事件处理函数是否会被复制

六、事件

 

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

$(document).ready(function(){

 do something...

});

 

//简写

$(function($) {

 do something...

});

页面处理

//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" )        //解绑一个事件

页面委派

// 与bind 不同的是当时间发生时才去临时绑定。

$("p").delegate("click",function(){

 do something...

});

 

$("p").undelegate();       //p元素删除由 delegate() 方法添加的所有事件

$("p").undelegate("click")   //从p元素删除由 delegate() 方法添加的所有click事件

事件

$("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()     //用户离开页面时

(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()  //停止事件向上层元素冒泡

七、效果

 

基本

$("p").show()        //显示隐藏的匹配元素

$("p").show("slow");    //参数表示速度,("slow","normal","fast"),也可为900毫秒

$("p").hide()        //隐藏显示的元素

$("p").toggle();      //切换 显示/隐藏

滑动

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

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

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

淡入淡出

$("p").fadeIn("900");        //用900毫秒时间将段落淡入

$("p").fadeOut("900");       //用900毫秒时间将段落淡出

$("p").fadeToggle("900");     //用900毫秒时间将段落淡入,淡出

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

八、对象访问

 

$.trim()   //去除字符串两端的空格

$.each()   //遍历一个数组或对象,for循环

$.inArray() //返回一个值在数组中的索引位置,不存在返回-1  

$.grep()   //返回数组中符合某种标准的元素

$.extend()  //将多个对象,合并到第一个对象

$.makeArray() //将对象转化为数组

$.type()    //判断对象的类别(函数对象、日期对象、数组对象、正则对象等等

$.isArray() //判断某个参数是否为数组

$.isEmptyObject() //判断某个对象是否为空(不含有任何属性)

$.isFunction()    //判断某个参数是否为函数

$.isPlainObject() //判断某个参数是否为用"{}"或"new Object"建立的对象

$.support()       //判断浏览器是否支持某个特性

模拟each()内部实现机制

九、插件拓展机制

//方式一

jQuery.fn.extend({

 check: function() {

   return this.each(function() { this.checked = true; });

 },

 uncheck: function() {

   return this.each(function() { this.checked = false; });

 }

});

 

$("input[type=checkbox]").check();

$("input[type=radio]").uncheck();

//方式二

jQuery.extend({

 min: function(a, b) { return a < b ? a : b; },    //三元运算

 max: function(a, b) { return a > b ? a : b; }

});

 

jQuery.min(2,3);     //2

jQuery.max(4,5);    //5

<!DOCTYPE html>

<html lang="en">

<head>

   <meta charset="UTF-8">

   <title>Title</title>

</head>

<body>

   <div class="title">111</div>

   <div class="title">222</div>

 

   <script src="../../jquery-1.12.4.js"></script>

   <script>

       jQuery.fn.extend({

           show1: function () {

               var val = this.text();

               val = val + "sb";

               return val;

           },

           show2: function () {

 

           }

       });

       var ret = $(".title").show1();

       console.log(ret);

 

 

       jQuery.extend({

           s1: function (arg) {

               var val = $(arg).text();

               return val + "sb";

           },

           s2: function () {

 

           }

       });

       var ret2 = $.s1(".title");

       console.log(ret2);

   </script>

</body>

</html>

Jquery选择器大全、属性操作、css操作、文档、事件等的更多相关文章

  1. 第一百六十六节,jQuery,基础 DOM 和 CSS 操作,元素内容,元素属性,css和class,元素宽度高度、偏移、滚动条

    jQuery,基础 DOM 和 CSS 操作,元素内容,元素属性,css和class,元素宽度高度.偏移.滚动条 学习要点: 1.DOM 简介 2.设置元素及内容 3.元素属性操作 4.元素样式操作 ...

  2. 3 、操作元素 (属性 CSS 和 文档处理)

    3   操作元素-属性 CSS 和 文档处理  3.1 属性操作 $("p").text()    $("p").html()   $(":check ...

  3. jquery.cookie 使用文档,$.cookie() 文档教程, js 操作 cookie 教程文档。

    jquery.cookie 使用文档,$.cookie() 文档教程, js 操作 cookie 教程文档. jquery.cookie中的操作: jquery.cookie.js是一个基于jquer ...

  4. JQuery选择器大全 前端面试送命题:面试题篇 对IOC和DI的通俗理解 c#中关于协变性和逆变性(又叫抗变)帮助理解

    JQuery选择器大全   jQuery 的选择器可谓之强大无比,这里简单地总结一下常用的元素查找方法 $("#myELement")    选择id值等于myElement的元素 ...

  5. jQuery修改class属性和CSS样式

    jQuery修改class属性和CSS样式 class属性修改 类属性即class属性,规定类名. 用类选择器规定样式的时候,需要为元素指定类名,即class属性的值. 注意每个HTML元素只有一个c ...

  6. jQuery选择器大全(48个代码片段+21幅图演示)

    选择器是jQuery最基础的东西,本文中列举的选择器基本上囊括了所有的jQuery选择器,也许各位通过这篇文章能够加深对jQuery选择器 的理解,它们本身用法就非常简单,我更希望的是它能够提升个人编 ...

  7. 转:jQuery选择器大全(48个代码片段+21幅图演示)

    选择器是jQuery最基础的东西,本文中列举的选择器基本上囊括了所有的jQuery选择器,也许各位通过这篇文章能够加深对jQuery选择器的理解,它们本身用法就非常简单,我更希望的是它能够提升个人编写 ...

  8. PHPExcel 是用来操作Office Excel 文档的一个PHP类库

    PHPExcel 是用来操作Office Excel 文档的一个PHP类库,它基于微软的OpenXML标准和PHP语言.可以使用它来读取.写入不同格式的电子表格,如 Excel (BIFF) .xls ...

  9. JQuery语法 JQuery对象与原生对象互转 文档就绪函数与window.onload的区别

    [JQuery语法] 1.jQuery("选择器").action();通过选择器调用事件函数,但是jquery中,jquery可以用$(“选择器”).action();   ① ...

  10. jQuery 源码分析和使用心得 - 文档遍历 ( traversing.js )

    jQuery之所以这么好用, 首先一点就是$()方法和它强大的选择器. 其中选择器使用的是sizzle引擎, sizzle是jQuery的子项目, 提供高效的选择器查询. 有个好消息告诉大家, 就是s ...

随机推荐

  1. Codevs 二叉树遍历问题 合集

    2010 求后序遍历 时间限制: 1 s 空间限制: 64000 KB 题目等级 : 白银 Silver   题目描述 Description 输入一棵二叉树的先序和中序遍历序列,输出其后序遍历序列. ...

  2. msp430项目编程15

    msp430中项目---简易红外遥控系统 1.红外工作原理 2.电路原理说明 3.代码(显示部分) 4.代码(功能实现) 5.项目总结 msp430项目编程 msp430入门学习

  3. Win7查看本地是否安装JDK及安装路径的方法

    工具/原料   win7 方法/步骤   1 开始->点击运行,输入:cmd 2 然后在命令提示符中,输入:java -version  假如看到有版本提示那么安装成功 3 假如忘记了java ...

  4. 【Nginx】定时器事件

    转自:烟雨江南 Nginx事件管理主要是网络事件和定时器事件.下面介绍定时器事件管理,即超时管理. 为什么进行超时管理? Nginx有必要对可能发生超时的事件 进行统一管理,并在事件超时时作出相应的处 ...

  5. 使用Android SwipeRefreshLayout了解Android的嵌套滑动机制

    SwipeRefreshLayout 是在Android Support Library, revision 19.1.0加入到support v4库中的一个下拉刷新控件,关于android的下拉刷新 ...

  6. Android之怎样实现滑动页面切换【Fragment】

    Fragment 页面切换不能滑动 所以对于listview 能够加入的左右滑动事件 .不会有冲突比如(QQ的好友列表的删除)  Fragment 和viewpager 的差别  Viewpager ...

  7. Ubuntu虚拟机+ROS+Android开发环境配置笔记

    Ubuntu虚拟机+ROS+Android开发环境配置笔记 虚拟机设置: 1.本地环境:Windows 7:VMWare:联网 2.虚拟环境 :Ubuntu 14.04. 比較稳定,且支持非常多ROS ...

  8. Idea SpringMVC+Spring+MyBatis+Maven整合

    创建项目 File-New Project 选中左侧的Maven,选中右侧上方的Create from archetype,然后选中下方列表中的webapp,然后点击Next 在GroupId和Art ...

  9. win7-64bit安装comtypes的问题

    Update 28/12/2014: Please download the latest comtypes 1.1.1 from https://pypi.python.org/pypi/comty ...

  10. Python爬虫开发【第1篇】【Scrapy shell】

    Scrapy Shell Scrapy终端是一个交互终端,我们可以在未启动spider的情况下尝试及调试代码,也可以用来测试XPath或CSS表达式,查看他们的工作方式,方便我们爬取的网页中提取的数据 ...