JQuery简介

jQuery

jQuery 美国人  2006年创建

这是目前最流行的JavaScript程序库,他是对JavaScript对象和函数的封装

他的设计思想是 write less   do more

Windows.onload 文档加载完成开始执行代码

$(document).ready(function)

偶数 even

jQuery与其他JavaScript库

jQuery

Bootstrap

让前端开发更快速更简单,所有设备都能适配

Zepto

加入移动端事件操作  触摸

Ext

用javaScript写的Ajax框架

YUI

 

jQuery能做什么

访问和操作DOM元素

控制页面样式

对页面事件进行处理

扩展新的jQuery插件

与Ajax技术完美结合

jQuery能做的JavaScript也能做,但使用jQuery能大幅提高开发效率

 

jQuery优势

体积小

强大的选择器

出色的DOM封装

可靠地事件处理机制

出色的浏览器兼容性

使用隐式迭代简化编程

丰富的插件支持

 

jQuery库分开发版和发布版

jQuery-1-版本号。Js   完整无压缩版本,主要用于测试,学习和开发

             。Min。Js   经过工具压缩或经过服务器开启Gzip压缩,主要用于发布的产品和项目

 

页面中引入jQuery

1 引用本地jquery库

<script src=js/jquery-1.12.4.js type=text/javascript></script>

2  引用cdn的jQuery库

<script src=http://code.jquery.com/jquery-1.12.4.js ></script>

Window.onload                 $(document).ready()

 

执行时机     必须等网页内容所有加载完毕         网页中所有DOM文件绘制完毕即刻执行,可能与DOM元素关联的内容并没有加载完

 

编写个数    同一页面不能同时编写多个             同一页面可以编写多个

简化写法       无                               $(function(){ 执行代码})

语法结构

$(selector).action();

工厂函数$():将DOM对象转化成为jQuery对象

选择器selector:获取需要操作的DOM元素

方法action():jQuery 中提供的方法,其中包括绑定事件处理的方法

 

jQuery操作页面元素

使用addClass()方法为元素添加样式

jQuery对象.addClass()

使用css()方法设置元素样式

Css(属性,属性值)设置一个css属性

Css({“属性1”:“属性值1”,“属性2”:“属性值2”,...})同时设置多个

使用show(),hide()方法设置元素的显示和隐藏

$(selector).show();

$(selector).hide();

jQuery代码风格

$等同于jQuery

$(document).ready()=jQuery(document).ready()

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

链式操作

对一个对象进行多重操作,并将操作返回给对象

.next()取得该元素的下一个同胞元素

$(h2).css(background-color,#ccffff).next().css(display,block);

隐式迭代

 

jQuery对象与DOM对象之间的转换

浏览器把HTML文档的元素转换成节点对象,所有节点组成了一个树状结构

DOM对象:直接使用JavaScript获取的节点对象

  Var objDOM=document.getElementById(title);

Var objHTML=objDOM.inneerHTML;

jQuery对象:使用jQuery包装DOM对象后产生的对象,它能够使用jQuery中的方法

    $(#title).html();

等同于

Document.getElementById(title).innerHTML;

DOM对象和jQuery对象分别有一套独立的方法,不能混用

DOM对象转jQuery对象

   使用$()函数进行转化:$(DOM对象)

   Var   txtName=document.getElementById(txtName)    DOM对象

   Var  $txtName=$(txtName);                      jQuery对象

jQuery对象命名一般约定以$开头

     在事件中经常使用$(this),this是触发该事件的对象

jQuery对象转化成DOM对象

Jquery对象是一个类似于数组的对象,可以通过[index]的方法得到相应的DOM对象

   Var $txtName=$(#txtName)     jQuery对象

Var txtName=$txtName[0];         DOM对象

 

     通过get(index)方法得到相应的DOM对象

        Var $txtName=$(txtName);      jQuery对象

        Var txtName=$txtName.get(0);     DOM对象

 

 

基本选择器:

jQuery选择器类似于CSS选择器,用来选取网页中的元素

实例: $(“h3”).css(background,#09F);

  获取并设置网页中所有《h3》元素的背景

  “h3”为选择器语法,必须放在$()中

$(h3)返回jQuery对象

.css()是为jQuery对象设置样式的方法

jQuery选择器功能强大,种类也很多分类如下

     通过CSS选择器选取元素

             基本选择器

       基本选择器包括:标签选择器  element    根据给定的标签名匹配元素   $(“h2”)选取所有h2元素

        类选择器;.class  根据给定的class匹配元素  $(.title)选取所有class为title的元素

       ID选择器  #id  根据给定的id匹配元素       $(#title)选取id为title的元素

      并集选择器 : selector1,selector2,....,selectorN    将每一个选择器匹配的元素合并后一起返回   $(div,p,title)选取所有div,p和拥有class为title的元素

 

全局选择器   *     匹配所有的元素       $(*)选取所有元素

 

 

             层次选择器

          层次选择器通过DOM元素之间的层次关系来获取元素

           后代选择器    $(#menu  span)选取#menu下的span 元素

            子选择器        #menu > span            的子元素

         相邻元素选择器       h2 + dl       选取紧邻h2元素之后的同辈元素dl

         同辈元素选择器         h2~dl         选取h2 元素之后所有的同辈元素dl

Ancestor祖先   descendant 后代

             属性选择器

属性选择器通过HTML元素 的属性来选择元素

[attribute]  选取包含给定属性的元素   $([href])选取包含有href属性的元素

[attribute=value] 选取等于给定属性是某个特定值的元素   $([href=#])

[attribute!=value]     不等于                              

[attribute ^=value] 选取给定属性是以某些特定值开始的元素  $([href ^=#])

[attribute $=value]                           结尾               $

[attribute *=value]               包含某些特定值的元素           *

 通过过滤选择器选择元素

    通过特定的过滤规则来筛选出所需的元素

主要分类

          基本过滤选择器

         :first  选取第一个元素   $(Ii:first)选取所有<li>元素中的第一个<li>元素

         :last      最后              last                    最后

 :not(selector)  选取去除所有与给定选择器匹配的元素    $(li:not(.three))选取class不是three的元素

        :even   选取索引是偶数的所有元素    $(li:even)选取索引是偶数的所有<li>元素

         :odd              奇数                  odd             奇数

        :eq(index)       选取索引等于index元素    $(li:eq(1))选取索引等于1的li元素

       :gt(index)                 大于                gt              大于1的不包括1

       :lt                        小于                lt              小于   不包括

       :header            选取所有标题元素       $(:header)选取网页中所有标题元素

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

:animated         选择所有动画                  $(:animated)选取当前所有动画元素

             可见性过滤选择器

      通过元素显示状态来选取元素  

    :visible   选取所有可见的元素     $(:visible)选取所有可见的元素

    :hidden  选取所有隐藏的元素     $(:hidden)选取所有隐藏的元素

表单过滤选择器

内容过滤选择器、子元素过滤选择器

   

jQuery选择器注意事项

  特殊符号的转义:

<div id=”id#a”>aa</div>

<div id=”id[2]”>aa</div>

获取这两个元素的选择器

   $(#id#a)

   $(#id[2])

以上是错误的

$(#id\\#a)

$(#id\\[2\\])

 

选择器中的空格

   选择器的书写规范很严格,多一个空格或少一个空格,都会影响选择器的效果

  Var $t_a=$(.text :hidden);//带空格的jQuery选择器   选取class为text的元素内部的隐藏元素

Var $t_a=$(.text:hidden) //选取隐藏的class为text 的元素

jQuery事件是对JavaScript时间的封装,常用事件分类:

   基础事件:

     鼠标事件:用户在文档上移动或单击鼠标时而产生的事件

        Click()触发或将函数绑定到指定元素的click事件              单机鼠标时

        Mouseover() 触发或将函数绑定到指定元素的mouseover事件  鼠标指针移过时

        Mouseout                                mouseout               移出

        Mouseenter                              mouseenter              进入

        Mouseleave                              mouseleave               离开

鼠标在备选元素的子元素上来回进入离开时:触发mouseover  跟mouseout  

                                不触发  mouseenter       mouseleave

 

         键盘事件

             Keydown() 触发或将函数绑定到指定元素的keydown事件   按下键盘时

                Up                                  up         释放

                Press                            press      产生可打印的字符时

           键盘keycode

 

       浏览器事件:

         $(selector).resize();调整窗口大小时,完成页面特效      

 

        绑定事件:

         Bind(type,[data],fn);

             Type:主要包括click mouseover  mouseout 等基础事件,此外,还可以是自定义事件

             Data 可选函数    fn 处理函数

 

 

 

   

         移除事件:

          Unbind()方法

            UNbind([type],[fn])

                Type:事件类型,主要包括blur  focus  click  mouseout 等基础事件 此外还可以是自定义事件

            Fn 处理函数

        当UNbind()不带参数时,表示移除所绑定的全部事件

         Window事件

         表单事件

     复核事件:

          鼠标光标悬停

          鼠标连续点击

jQuery复合事件:

Hover()方法 相当于mouseover与mouseout事件的组合

Hover(enter,leave)

实例;hover(function(){

  $().show();

},function(){

  $().hide();

})

 

Toggle()方法 用于模拟鼠标连续click事件

Toggle(fn1,fn2,fn3,fn4...);(实现单击事件的切换,无额外绑定click事件)

 

Toggle() 方法不带参数,与show和hide方法作用一样(实现事件触发对象在显示和隐藏状态之间切换)

 

Toggleclass( className)可以对样式进行切换(实现事件触发对象在加载某个样式和移除这个样式之间转换)

$(selector).show([speed], [callback])

$(selector).hide([speed], [callback])

Speed  可选表示速度,默认为0;1000    slow    normal    fast

Callback  表示回调函数

$(selector).fadeIn([speed], [callback])

$(selector).fadeout([speed], [callback])

$(selector).slideup([speed], [callback])

$(selector).slidedown([speed], [callback])

样式操作与内容操作

    DOM操作分为三类

      DOM core 任何一种支持DOM的编程语言都可以使用它,如getElementById()   HTML-DOM用于处理HTML文档,如document.forms

      CSS-Dom 用于操作Css,如element.style.color

Javascript用于对(x)HTML文档进行操作,他对这三类DOM操作都提供了支持

jQuery对JavaScript中的DOM操作进行了封装

  jQuery中的DOM操作

       样式操作

       内容及Value值操作

       节点属性操作

        节点遍历

        Css-dom操作

设置和获取样式值          opacity 透明度

     Css(name,value); 设置单个属性

     或css({name:value,name:value,...}) 同时设置多个属性

     Css(name)获取属性值

追加样式

     $(selector).addclass(class)

     $(selector).addclass(class1 class2 class3...)

移除样式

      $(selector).removeclass(class)

      $(selector).removeclass(class1 class2 class3...)

toggleClass()

    模拟了addClass()与removeClass()实现样式切换的过程

Hasclass()方法来判断是否包含指定的样式

    $(selector).hasClass(class);

 

内容操作

   HTML代码操作

      HTML()可以对HTML代码进行操作,类似于js中的innerHTML

       $(div.left).html();获取元素中的HTML代码

       $(div.left).html(<div class=content></div>) 设置元素中的HTML代码

   Text()可以获取或设置元素的文本内容

         $(div.left).text();获取元素中的文本内容

       $(div.left).text(<div class=content></div>) 设置元素中的文本内容

   HTML   跟text区别

   HTML() 无参数 用于获取第一个匹配元素的HTML内容或文本内容

   Html(content) 用于设置所有匹配元素的HTML内容或文本内容

   Text() 无参数 用与获取所有匹配元素的文本的内容

   Text(content) 用于设置所有匹配元素的文本内容

   标签内容操作

   属性值操作

 $(this).val() 获取元素的value属性值

 或$(this).val(value) 设置元素的value属性值

获取焦点 focus    失去焦点  blur

节点操作

  查找节点

  创建节点

    工厂函数$()用于获取或创建节点

       $(selector) 通过选择器获取节点

       $(element)把DOM节点转化成jQuery节点

       $(html)使用HTML字符创建jQuery节点:: var $newNode=$(<li  >  </li>);  

var $newNode=$(<li  > werqwerqwerq </li>);  var $newNode=$(<li title=t >  </li>);创建含文本与属性<li>元素节点

  

  插入节点

      Append(content)  $(A).append(B) 将B追加到A中

      AppendTo(content)    $(A).appendTo(B) 将A追加到B中

      Prepend(content)    $(A).prepend(B) 将B前置插入到A中

      prependTo(content)   $(A).prependTo(B) 将A前置插入到B中

    元素外部插入同辈节点

       After(content) $(A).after(B)将B插入到A之后

       insertAfter(content)  $().insertAfter(B)将A插入到B之后

      Before (content)     $(A).before(B) 表示将B插入到A之前  

       insertBefore(content)   $().insertBefore(B)将A插入到B之前

  删除节点

      jQuery提供三种删除节点的方法

         Remove() 删除整个节点

         Empty()   清空节点内容 位置仍然保留

         Detach()  删除整个节点,保留元素的绑定事件、附加的数据

  替换节点

      replaceWith()和replaceAll()用于替换某个节点

   $(.gameList li:eq(1)).replaceWith($newNode1)     $().replaceAll(.gameList li:eq(1))

  复制节点

  Clone()用于复制某个节点

   $(selector).clone([includeEvents]) 参数ture或false,true复制事件处理,false则只复制内容反之

属性操作

  获取与设置元素属性

    Attr()

  $(selector).attr([name]); 获取属性值

  $(selector).attr({[name1:value].....[nameN:valueN]}) 设置多个属性值

   删除元素属性

   removeAttr用来删除元素属性

    $(selector).removeAttr(name)

 

节点遍历

   遍历子元素

     $ (selector).children([expr]) 参数可以省略是代表选择器表达式

 

   遍历同辈元素

      Next([expr])获取紧邻元素之后的元素

      Prev([expr])获取紧邻元素之前的元素

      Slibings([expr]) 位于匹配元素前后所有同辈元素

   遍历前辈元素

       Parent()获取元素的父级元素

       Parents() 获取元素的祖先元素

   其他遍历方法

       jQuery中提供了find() filter()等节点操作方法

  Each()规定为每个匹配元素规定运行的函数

      $(selector).each(function(index,element))

Index 选择器的位置   element 当前的元素

       End()  结束当前链条中的最近的筛选操作,并将匹配元素集还原为之前的状态

$(ul li).first().css().end().last()    作用就是让last操作的是从$(ul li)开始 而不是$(ul li).first()

 

CSS-DOM操作

   除css()外,还有获取和设置元素高度宽度等的样式操作方法

    Css()     设置或返回匹配元素的样式属性

  Height([value])                      高度

 width([value])                      宽度

offset([value])              以像素为单位的top和left坐标。仅对可见元素有效  

offsetParent()  返回最近的已定位祖先元素。定位元素指的是元素的css position 值被设置为relative  absolute  或fixed的元素

 Position()   返回第一个匹配元素相对于父元素的位置

scrollLeft([position])     参数可选。设置或返回匹配元素相对滚动条左侧的偏移    

scrollRight([position])  参数可选。设置或返回匹配元素相对滚动条项

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值