jQuery基础知识总结

1、什么是JQuery?

    它是js的一个框架,它是开源的项目。对底层的js进行封装,我们通过js框架就可以快速的完成DOM

    对元素的增删改查操作,并提供了动画功能。jquery对外提供api让开发者去开发jquery

    插件(就是一个功能模块,用户只要做一些简单的配置就完成复杂的功能)。jquery目前

    是比较流行的一个JQuery框架。(宗旨:写得少,做的多)。

 

2、JQuery特点:

   轻量级

   强大的选择器

   出色的DOM封装

   可靠的事件处理机制

   完善的Ajax

   出色的浏览器兼容性

   丰富的插件支持

   完善的文档

   支持链式操作

 

3、JQuery的环境配置

   1)官网:http://www.jquery.com

   2)去下载jquery库文件:

      通常有两个版本:

       *未压缩版本:--用在开发和调试。(我们下载此版本)

       *压缩版本:--产品发布的时候使用,可以提高性能和减少带宽

 

4、在html页面中如何使用jQuery?

    使用引入

 

5、在内编写jquery脚本   

/*当文档解析完毕好以后去执行一个函数*/
// 第一种写法
jQuery(document).ready(function(){
    alert("hello,jQuery");
});


// 第二种写法
$(document).ready(function(){
    alert("hello,jQuery");
})


// 第三种写法
$(function(){
    alert("hello,jQuery");
})

      注意:jQuery可以使用$符号作为别名。

 

      强调:和window.οnlοad=function(){}区别?

      *加载时机不同,$(function(){})优先于window.οnlοad=function(){}先执行

      *执行的次数不同,window.οnlοad=function(){}只会执行最后一个绑定的函数。

        $(function(){})可以绑定多个函数来分别执行。

 

6、JQuery对象和DOM对象之间的关系,他们之间如何去转换?

   *使用DOM方法来查询得到的结果是DOM对象,它只能访问DOM对象中所提供的属性和方法。

   *使用JQuery查询得到的结果是Jquery对象,它只能访问jQuery对象中所提供的属性和方法。

     也就是说JQuery对象不能调用DOM对象的属性和方法,反之也一样。

 

     注意:养成一个良好的书写习惯,JQuery对象的变量名最好以$开头。

 

   记住:JQuery查询出来的结果是一个对象数组,就算根据id来进行查询就是返回的是一个对象数组。

        数组内存放的是DOM对象。

 

 

   *JQuery对象转换成DOM对象,通过[下标]就可以转,或者get(下标)方法来取出数据就是DOM对象

   *DOM对象转换成JQuery对象,通过$()工厂函数就可以了,把DOM对象作为参数传给$()函数,那么

      就把DOM对象转换成了JQuery对象。

 

-------------------------------------------------------------------------------------------

选择器的学习:

   *回顾下CSS选择器:---css选择器的作用是给指定的元素设置样式的。

    1)id选择器  #id名{样式规则}     id="id名"

    2)类选择器  .类名{样式规则}     class="类名1 类名2 ....."

    3)标签选择器 标签名{样式规则}

    4)后代选择器 选择器1 选择器2{样式规则}

    5)子元素选择器  选择器1>选择器2{样式规则}

    6)相邻选择器  选择器1+选择器2{样式规则}

    7)同辈选择器  选择器1~选择器2{样式规则}

    8)属性选择器

         [属性名='值']

     [属性名^='值']

     [属性名$='值']

     [属性名|='en']   比如:

     [属性名*='en']

     [属性名~='en']   比如:

 

   jQuery选择器:--Jquery选择器的作用是给指定的元素设置行为的。它提供了css1,css2

                  css3部分的选择器,还包含自身特有的一些选择器。功能比较强大。

 

    选择器效率的问题

      1)$("#id")

      2)$("#id").find("");

      3)$("p")

      4)$(".className")

      5)$("#id :hidden")

 

 

 

   1)常用的基本选择器

     #id:根据给定的id匹配一个元素*****

     .classname:根据给定的类名匹配一个元素*****

      classname:根据给定的元素名匹配元素*****

     *:匹配所有元素

     select1,select2…:将每一个匹配到的元素合并后一起返回

 

   2)层次选择器*****

     ancestor descendant:选取ancestor元素里的所有descendant元素--对应的方法find()

     parent>child:获取parent元素下的child元素---对应的方法children()

     prev+next:选取紧接在prev元素后的next元素---对应的next()方法

     prev~siblings:选取prev元素之后的所有siblings元素--对应的nextAll()方法

      实例:         

//获取所有的input元素

alert($("#divTest input").length);

alert($("#divTest").find("input").length);

// 获取id为divTest的元素下的input子元素

alert($("#divTest>input").length);

alert($("#divTest").children("input").length);

// 获取id为next元素的下一个input元素的内容

alert($("#next+input").val());

alert($("#next").next("input").val());

//获取id为next元素的前后所有同辈a元素的个数

alert($("#next~span").length);

alert($("#next").siblings("span").length);

 

   3)基本过滤选择器

     :first:根据给定的id匹配一个元素==first()

    :last:根据给定的类名匹配一个元素---last()

    :not(selector):去除所有与给定选择器匹配的元素

    :even:选取索引值为偶数的所有元素,从0开始计数*****

    :odd:选取索引值为奇数的所有元素,从0开始计数*****

    :eq(index):匹配一个给定索引值元素,从0开始*****

    :gt(index):匹配大于给定索引值元素,从0开始

    :lt(index):匹配小于给定索引值元素,从0开始

    :header:选择h1,h2,h3一类的标签

    :animated:匹配正执行动画效果的元素

    :focus:匹配获取焦点的元素

 

   4)常用的内容过滤选择器

    :contains(text):匹配包含给定文本的元素

    :empty:匹配所有不包含子元素或者文本的空元素

    :has(selector):匹配含有选择器所匹配元素的元素*****

    :parent:选取含有子元素或者文本的元素

 

        //查找空元素的个数

          //alert($("li:empty").length);

          //查找内容包含ip的li元素的个数

          //alert($("li:contains('ip')").length);

          //查找拥有子元素的所有li元素,输出满足条件的元素个数

         // alert($("li:parent").length);

          //查找并输出包含a元素的li元素的内容

          //alert($("li:has('a')").text());   

 

    5)常用的可见性过滤选择器*****

     :hidden:选取所有不可见的元素   display:none

     :visible:选取所有可见的元素

 

    6)常用的属性过滤选择器

    元素名[attribute]:选取拥有此属性的元素

    元素名[attribute=value]:选取属性值等于value的元素

    元素名[attribute!=value]:选取属性值不等于value的元素

    元素名[attribute^=value]:选取属性值以value开始的元素

    元素名[attribute$=value]:选取属性值以value结束的元素

    元素名[attribute*=value]:选取属性值包含value的元素

    元素名[attribute|=value]:选取属性值是value的元素或以value开头,后面跟-

    元素名[attribute~=value]:选取属性值包含value且以空格隔开的元素

    元素名[attribute1][attribute2]…:多个属性选择器合并成一个复合属性选择器

 

    7):常用的子元素过滤选择器

    :first-child:选取每个父元素下的第一个子元素

    :first-of-type:选取同名兄妹节点的第一个子元素的所有元素

    :last-child:选取每个父元素下的最后一个子元素

    :last-of-type:选取同名兄妹节点的最后一个子元素的所有元素

    :only-child:选取父元素中具有唯一的子元素的所有元素

    :only-of-type:选取前后没有同名兄妹节点的子元素的所有元素

    :nth-child(index/even/odd):选取每个父元素下的第index个子元素或奇偶元素(index从1开始算起)

    :nth-last-child(index/even/odd):取每个父元素下的第index个子元素,从最后一个往第一个数(index从1开始算起)

 

    8):常用的表单选择器

    :input:选取所有