JQuery重要知识点

jQuery基本选择器----包括ID选择器,标签选择器,类选择器,通配选择器和组选择器5种

    a. ID选择器: $("#id")

    b. 标签选择器:$("element")

    c. 类选择器:$(".className")

    d. 通配选择器:$("*") 匹配指定上下文中所有元素

    e. 组选择器:$("selector1,selector2,selectorN") 特点:无数量限制,以逗号分隔 (逐个匹配,结果全部返回)

2.层级选择器:通过DOM的嵌套关系匹配元素

    jQuery层级选择器----包含选择器、子选择器、相邻选择器、兄弟选择器4种

    a.包含选择器:$("a b")在给定的祖先元素下匹配所有后代元素。                          (不受层级限制)

    b.子选择器:$("parent > child") 在给定的父元素下匹配所有子元素。

    c.相邻选择器:$("prev + next") 匹配所有紧接在prev元素后的next元素。

    d.兄弟选择器:$("prev ~ siblings") 匹配prev元素之后的所有sibling元素。

3.常用伪类选择器:可以看作是一种特殊的类选择符

1)特定位置选择器

    选择器     说明

    :first     匹配找到的第1个元素

    :last      匹配找到的最后一个元素

    :eq    匹配一个给定索引值的元素

  2)指定范围选择器

    :even      匹配所有索引值为偶数的元素

        :odd       匹配所有索引值为奇数的元素

        :gt(index) 匹配所有大于给定索引值的元素 great than

    :lt(index) 匹配所有小于给定索引值的元素 less than

3)排除选择器

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

2. 选择器优化:

    使用合适的选择器表达式可以提高性能、增强语义并简化逻辑。常用的选择器中,ID选择器速度最快,其次是类型选择器。

    a. 多用ID选择器

    b. 少直接使用class选择器

    c. 多用父子关系,少用嵌套关系

    d. 缓存jQuery对象

例子:

for(i=0;i<10;i++){

    var myList=$("myList");

    myList.append(i);

}

var myList=$("myList");

for(i=0;i<10;i++){

    myList.append(i);

}

3. 使用过滤器

    jQuery提供了2种选择文档元素的方式:选择器和过滤器

    a. 类过虑器:根据元素的类属性来进行过滤操作。

            hasClass(className):判断当前jQuery对象中的某个元素是否包含指定类名,包含返回true,不包含返回false

    b. 下标过滤器:精确选出指定下标元素

            eq(index):获取第N个元素。index是整数值,下标从0开始

    c. 表达式过滤器

       filter(expr)/(fn):筛选出与指定表达式/函数匹配的元素集合。

                 功能最强大的表达式过滤器,可接收函数参数,也可以是简单的选择器表达式

    d. 映射 map(callback):将一组元素转换成其他数组

    e. 清洗 not(expr):删除与指定表达式匹配的元素

    f. 截取 slice(start,end):选取一个匹配的子集

   $("#menu li").slice(1,4).css("color","green");2,3,4是green

 

4. 查找

    a. 向下查找后代元素

       children():取得所有元素的所有子元素集合(子元素)

       find():搜索所有与指定表达式匹配的元素(所有后代元素中查找)

    e. 查找兄弟元素 siblings()查找当前元素的兄弟

一、创建节点

    1.创建元素

       语法:document.createElement(name);

      

       var div = document.createElement("div");

       document.body.appendChild(div);

 

       $(html):根据传递的标记字符串,创建DOM对象

    2.创建文本

       var div = document.createElement("div");

       var txt = document.createTextNode("DOM");

       div.appendChild(txt);

       document.body.appendChild(div);

      

       var $div = = $("<div>DOM</div>");

       $(body).append($div);

      

    3.设置属性

       语法:e.setAttrbute(name,value)

      

       var div = document.createElement("div");

       var txt = document.createTextNode("DOM");

       div.appendChild(txt);

       document.body.appendChild(div);

       div.setAttribute("title","盒子");

 

       var $div = = $("<div title='盒子'>DOM</div>");

       $(body).append($div);

      

二、插入内容

    1.内部插入

       向元素最后面插入节点:

       a. append():向每个匹配的元素内部追加内容

       b. appendTo():把所有匹配的元素追加到指定元素集合中,$("A").append("B") 等效 $("B").appendTo("A")

       向元素最前面插入节点:

       c. prepend():把每个匹配的元素内部前置内容

       d. prependTo():把所有匹配的元素前置到另一个指定的元素集合中,$("A").prepend("B") 等效 $("B").prependTo("A")

 

    2.外部插入

       a. after():在每个匹配的元素之后插入内容

       b. before():在每个匹配想元素之前插入内容

       c. insertAfter():将所有匹配的元素插入到另一个指定的元素集合后面,$A.insert($B) 等效 $B.insertAfter($A);

       d. insertBefore():将所有匹配的元素插入到另一个指定的元素集合前面 $A.before($B) 等效 $B.insertBefore($A);

三、删除内容

    1.移除

       remove():从DOM中删除所有匹配元素

    2.清空

       empty():删除匹配的元素集合中所有子节点内容

四、克隆内容:创建指定节点副本

    clone()

    注意:若clone(true)则是包括克隆元素的属性,事件等

五、替换内容

    a. replaceWith():将所有匹配的元素替换成指定的元素

    b. replaceAll():用匹配的元素替换掉指定元素

 

    注意:两者效果一致,只是语法不同 $A.replaceAll($B) 等效于 $B.replaceWhith($A);

 

 

======================================================================================================================

一. 介绍jQuery动画

    JavaScript语言本身不支持动画设计,必须通过改变CSS来实现动画效果。

 

显隐

1. 显隐动画

    show():显示

    hide():隐藏

    原理:hide()通过改变元素的高度宽度和不透明度,直到这三个属性值到0

      show()从上到下增加元素的高度,从左到右增加元素宽度,从0到1增加透明度,直至内容完全可见

    参数:

    show()

    show(speed,callback)

    speed: 字符串或数字,表示动画将运行多久(slow=0.6/normal=0.4/fast=0.2)

    callback: 动画完成时执行的方法

 

显示和隐藏式一对密不可分的动画形式。

 

2. 显隐切换

    toggle():切换元素的可见状态

      原理:匹配元素的宽度、高度以及不透明度,同时进行动画,隐藏动画后将display设置为none

 

      参数:

    toggle(speed)

    toggle(speed,callback)

    toggle(boolean)

 

    speed: 字符串或数字,表示动画将运行多久(slow=0.6/normal=0.4/fast=0.2)

    easing: 使用哪个缓冲函数来过渡的字符串(linear/swing)

    callback: 动画完成时执行的方法

    boolean:true为显示 false为隐藏

 

滑动

1. 显隐滑动效果

    slideDown():滑动隐藏

    slidUp():滑动显示

   

    参数:

    slideDown(speed,callback)

 

    slidUp(speed,callback)

 

2. 显隐切换滑动

    slideToggle():显隐滑动切换

 

    参数:

    slidUp(speed,callback)

 

渐变:通过改变不透明度

1. 淡入淡出

    fadeIn()

    fadeOut()

 

    参数:

    fadeIn(speed,callback)

 

    fadeOut(speed,callback)

 

2. 设置淡出透明效果

    fadeTo():以渐进的方式调整到指定透明度

 

    参数:

    fadeTo(speed,opacity,callback)

 

3.渐变切换:结合fadeIn和fadeOut

    fadeToggle()

 

    参数:

    fadeOut(speed,callback)

 

自定义:

1. 自定义动画:animate()

 

用animate模拟show():

    show: 表示由透明到不透明

    toggle: 切换

    hide:表示由显示到隐藏

2. Event属性:

    type:获取事件类型名称

    target:发生事件的节点

    keyCode:只针对于keypress事件,获取键盘键数字 按下回车,13

 

    pageX:光标对于页面原点的水平坐标   body

    pageY:光标对于页面原点的垂直坐标      

   

    clientX:光标对于浏览器窗口的水平坐标  浏览器

    clientY:光标对于浏览器窗口的垂直坐标

 

    screenX:光标对于电脑屏幕的水平坐标    电脑屏幕 

    screenY:光标对于电脑屏幕的水平坐标

 

3. stopPropagation():阻止冒泡

    1. 从里到外

    2. 嵌套关系

    3. 相同事件

    4. 其中的某一父类没有相同事件时,继续向上查找

 

4. bind();//绑定

    为匹配元素绑定处理方法

 

    需要给一个元素添加多个事件 ,事件执行一样时候

   one()://只执行一次        

 

 

绑定特定事件类型方法:

   

blur() focus() mousedown() resize() change() keydown() mousemove() scroll()

click() keypress() mouseout() select() dblclick() keyup() mouseover() submit()

error() load() mouseup() unload()

posted @ 2015-08-08 10:42  待繁华落尽  阅读(277)  评论(0编辑  收藏  举报