AI智能
改变未来

jQuery基础 — JavaScript框架


jQuery概念

jQuery是一个快速、简洁而且功能丰富的JavaScript库。宗旨:write less,do more,写更少的代码,做更多的事

jQuery和原生JavaScript的区别:

例如:

  1. 通过ID获取一个HTML元素JavaScript:  var obj = document.getElementById(\”idname\”);
  2. jquery: var obj = $(\”idname\”);
  • 将一个HTML元素隐藏
      JavaScript:document.getElementById(\”id\”).style.display = \”none\”;
    1. jQuery: $(\”id\”).hide();
  • 把一个HTML元素宽度变成200px
      JavaScript:document.getElementById(\”id\”).style.width = \”200px\”;
    1. jQuery: $(\”id\”).css(\”width\”,\”200px\”);

    jQuery符号

    – – – $ 符号

    $ === jQuery

    jQuery将所有的功能全部封装在一个全局变量jQuery中,而$是一个合法的变量名,他是jQuery的别名。

    绝大多数时候,我们直接使用$

    如果$符号变量占用,只能使用jQuery这个变量

    [code]$(\'div\').addClass(\'div\');//<div class=\'div\'></div>jQuery(\'div\').addClass(\'div\');//两种形式是一样的

     页面就绪函数

    [code]//JavaScriptwindow.onload = function(){}//jQuery//原始格式$(document).ready(function(){ });//缩写形式$().ready(function(){ });//再缩写$(function(){ });

    小案例:

    1. [code]$(function(){$(\'button\').click(function(){$(\'p\').slideToggle();//点击按钮,下拉显示或上升隐藏});});

       

    项目:照片墙案列

    [code]$(function(){$(\'a\').click(function(){var Index = $(this).index();//当前索引//eq()根据索引,进行隐式迭代//css({\'属性名\':\'属性值\'})样式设置//siblings()除了当前的,其他所有的兄弟节点$(\'img\').eq(Index).css({\'opacity\':\'1\'}).siblings().css({\'opacity\':\'0\'});//链式结构语法});});
    • html()  可以插入值  还可以解析html标签
    • css()  可以添加css样式,可以改变css样式
    • text()  可以插入文本但是不可以解析标签
    [code]$(function(){var alinks = $(\'a\');//alinks是对象for(var i = alinks.length-1;i>=0;i--){//原生js//alinks[i].style.background=\'red\';//alinks[i].style.color=\'#fff\';//alinks[i].style.border=\'5px solid yellow\';//jQuery//eq()隐式迭代  获取每个jQuery对象alinks.eq(i).css({background:\'red\',color:\'#fff\',border:\'5px solid yellow\'}).html(\'<em>七彩云南\'+i+\'</em>\');//.text(\'云南旅游\'+i);}});

    jQuery选择器

    选择器是jQuery的核心  $(\”\”)

    JavaScript:document.getElementById(\”dom-id\”);

    jQuery:$(\”#dom-id\”);

    返回的对象都是jQuery对象

    类似数组,每一个元素都是引用了DOM节点的对象

    基本选择器   $(\”选择器\”)

    1. #id  根据给定的id匹配一个元素             优先级最高,效率最高
    2. element  根据给定的元素标签名匹配所有元素       效率相对较差,建议使用
    3. .class    根据给定的css类名匹配元素       效率相对较差,建议使用id选择器是唯一的id
    4. 标签选择器可以获取一组标签
    5. 类型选择器可以根据选择不同,我可以选择相同返回一组。
    6. 尽量将id留给行为层js操作。  但是id优先级高于类选择器优先级
    7.  
  • 通配符选择器  *   匹配所有元素        效率最差的,不建议使用
  • 多项选择器

    $(\”selector1,selector2,selector3\”)

    将每一个选择器匹配到的元素合并到一起后返回

    层级选择器

    $(\”obj   ele\”)   子孙后代选择器在给定的祖先元素下匹配所有的后代元素

    $(\”obj>ele\”)   子选择器在给定的父元素下匹配所有的子元素    子选择器的效率相对较高

    $(\”prev+next\”)  兄弟选择器匹配所有紧接在prev元素后面的一个next元素

    $(\”prev~next\”)  匹配prev元素之后的所有的next元素

    总结:兄弟选择器重点必须是同一级,兄弟关系,用的不特别多!

      子选择器和直接子选择器相对较多!

    属性选择器

    [属性名]   属性名选择器

    [属性名=属性值]   匹配该属性名=属性值的ele元素

    [属性名!=属性值]  匹配不满足该属性名=属性值的所有ele元素

    [属性名^=属性值]   匹配属性名的属性值中以。。。为开头的所有元素

    [属性名$=属性值]   匹配属性名的属性值中以。。。结尾的所有元素

    [属性名*=属性值]   匹配属性名的属性值中包含。。。的所有元素

    [属性1][属性2][属性3]    联合属性选择器

    过滤器

    child

    1. :first-child   第一个孩子
    2. :last-child  最后一个孩子
    3. :nth-child(n|even|odd)  第几个孩子
    4. :nth-last-child(n|even|odd) 倒数第几个孩子
    5. :only-child  独生子

                     总结: ​​​​​​​

                        1、 父元素下的直接子元素必须是某个元素,而且必须是指定第几个孩子 

                        2、下标从1开始,而不是从0开始

    type

    1.  :first-of-type     相一父元素下同类型中第一个孩子
    2. :last-of-type              同类型中最后一个孩子
    3. :nth-of-type(n|even|odd)  
    4. :nth-last-of-type(n|even|odd)
    5. :only-of-type             同类型中唯一一个孩子 

    过滤器参数

    1. n   匹配元素的序号  必须是整数  从1开始
    2. even   匹配所有偶数元素
    3. odd   匹配所有的奇数元素
    4. formula   使用特殊公式(an+b)进行操作

    表单元素

    :input

               可以选择<input>  <textarea>  <select>和<button>

    :text

               匹配所有的单行文本框,和input[type=\’text\’]一样

    其他的input的type

               :password/:radio/:checkbox/:image/:reset/:button/:file

     

    表单状态

    :enabled

             匹配所有可用元素

    :disabled

             匹配所有不可用元素

    :checked

             匹配所有选中的被选中元素(复选框、单选框  select中的option)

    :selected

             匹配所有选中的option元素

    查找和过滤

    1. find(expr  |  object   |  element)        搜索所有和指定表达式匹配的元素
    2. children()  取得一个包含的元素集合中每一个元素的(其父元素下的)所有子元素的元素集合
    3. parent()    取得一个包含的元素集合中唯一父元素的元素集合
    4. next()下一个  prev()上一个   取得一个包含匹配元素集合中每一个元素紧邻的后面(前面)的元素的元素集合
    5. eq(index | -index)  获取当前链式操作中的第N个jQuery对象(按索引匹配)  
    6. 如果eq后面输入的是正数,那么从索引0开始数
    7. 如果eq后面输入的是负数,那么从-1开始数,就是倒数第几个
  • siblings()  取得一个包含匹配元素集合中每一个元素的所有唯一同辈的元素的元素集合(匹配除了他本身的所有同辈元素) 
  • filter() 过滤器    筛选出于指定表达式匹配的元素集合
  •  

     

     

     

     

     

     

    赞(0) 打赏
    未经允许不得转载:爱站程序员基地 » jQuery基础 — JavaScript框架