jQuery 选择器、DOM操作、事件、动画
jQuery 选择器、DOM操作、事件、动画
发布时间:2016-12-30 来源:查字典编辑
摘要:Jquery选择器$(document).ready(function(){})$(function(){})如果获取的对象是jQuery对...

Jquery选择器

$(document).ready(function(){})

$(function(){})

如果获取的对象是jQuery对象,那么在变量前面加上$,例如:var $variable=jQuery对象

选择器

1,判断页面是否存在某元素:if($(“#tt”).length>0){} 或者if($(“#tt”)[0]){};

2, 基本选择器

$(“#test”) 选择id为test的元素

$(“.test”)选择class为test的所有元素

$(“p”)选择所有的<p>标签

$(“*”)选择页面上的所有元素

$(“span ,#two”)选择页面上所有的<span>标签和id为two的元素

3, 层次选择器

$(“div span”)表示选取div中的所有的span元素

$(“parent>children”)选取parent下所有children的子元素

$(‘.one+span')选取class为one的下一个span元素

$(‘.one~div')选取class为one的后面的所有的div兄弟元素

$(‘.one+span')等价于$(“.one”).next(“span”)

$(‘one~div')等价于$(“.one”).nextAll(“div”)

$(“.one”).siblings(“div”) 选取class为one的所有的兄弟元素div,无论前后

4, 过滤选择器

(1)基本的过滤器

$(“div:first”)选取所有div元素中第一个div元素

$(“div:last”)选取所有div元素最后一个div元素

$(“input:not(.myClass)”)选取class不是myClass的input元素

$(“input:even”)选取索引是偶数的input元素

$(“input:odd”)选取索引时奇数的input元素

$(“input:eq(1)”)选取索引等于1的input元素

$(“input:gt(1)”)选取索引大于1的input元素(大于1不包括1)

$(“input:lt(1)”)选取索引小于1的input元素(小于1不包括1)

$(“:header”)选取网页中所有的h1、h2……

$(“div:animated”)选取正在执行动画的div元素

(2)内容过滤器

$(“div:contains(‘我')”)选取含有文字“我”的div元素

$(“div:empty”)选取不包含子元素(包含文本元素)的div空元素

$(“div:has(p)”)选取含有p元素的div元素

$(“div:parent”)选取拥有子元素(包含文本元素)的div元素

(3)可见性过滤选择器

$(“:hidden”)选取所有不可见的元素。包括<input type=”hidden”/>,<div style=”display:none;”>和<div style=”visibility:hidden;”>等元素。如果只想选取<input>元素,可以使用$(“input:hidden”)

$(“div:visible”)选取所有可见的<div>元素

(4)属性过滤选择器

$(“div[id]”)选取拥有属性id的元素

$(“div[title=test]”)选取属性title为test的div元素

$(“div[title!=test]”)选取属性title不是test的div元素(没有属性title的div也会被选取)

$(“div[title^=test]”)选取属性title以test开始的div元素

$(“div[title$=test]”)选取属性title以test结束的div元素

$(“div[title*=test]”)选取属性title包含test的div元素

$(“div[id][title$='test']”)选取拥有属性id,并且属性title以test结束的div元素

(5)子元素过滤选择器

:eq(index)只匹配一个元素,而:nth-child将为每一个父元素匹配子元素,并且:nth-child(index)的index是从1开始的,而:eq(index)是从0算起的

:first只返回单个元素,而:first-child选择符将为每个父元素匹配第一个子元素。

例如$(“ul li:first-child”)选取每个ul中第一个li元素

:last只返回单个元素,而:last-child选择符将为每个父元素匹配最后一个子元素

$(“ul li:only-child”)在ul中选取是唯一子元素的li元素

:nth-child()选择器是很常用的子元素过滤选择器,详细功能如下:

1.:nth-child(even)能选取每个父元素下的索引值是偶数的元素

2. :nth-child(odd)能选取每个父元素下的索引值的奇数的元素

3.:nth-child(2)能选取每个父元素下索引值等于2的元素

4.nth-child(3n)能选取每个父元素下的索引值是3的倍数的元素(n从0开始)

5.nth-child(3n+1)能选取每个父元素下的索引值是(3n+1)的元素(n从0开始)

(6)表单对象属性过滤选择器

$(“#form1 :enabled”)选取id为form1的表单内的所有可用元素

$(“#form2 :disabled”)选取id为“form2”的表单内的所有不可用元素

$(“input:checked”)选取所有被选中的input元素

$(“select :selected”.text())选取所有被选中的选项元素

5.表单选择器

$(“:input”)选取所有input、textarea、select和button元素

$(“:text”)选取所有的单行文本框

$(“:password”)选取所有的密码框

$(“:radio”)选取所有的单选框

$(“:checkbox”)选取所有的复选框

$(“:submit”)选取所有的提交按钮

$(“:image”)选取所有的图像按钮

$(“:reset”)选取所有的重置按钮

$(“:button”)选取所有的按钮

$(“:file”)选取所有的上传域

$(“:hidden”)选取所有不可见元素

Dom操作

Dom core(核心)、HTML-DOM和CSS-DOM

1. 插入节点的方法

append()

$(“p”).append(“<b>你</b>”)

<p>test <b>你</b></p>

appendTo()

$(“<b>你</b>”).appendTo(“p”)

<p>test <b>你</b></p>

prepend()

$(“p”). prepend ( “<b>你</b>”)

<p><b>你</b>test </p>

prependTo()

$(“p”). prependTo ( “<b>你</b>”)

<p><b>你</b>test </p>

After()

$(“p”). after ( “<b>你</b>”)

<p>test </p><b>你</b>

insertAfter()

$( “<b>你</b>”). insertAfter (“p”)

<p>test </p><b>你</b>

Before()

$(“p”). before ( “<b>你</b>”)

<b>你</b><p>test </p>

insertBefore()

$( “<b>你</b>”). insertBefore (“p”)

<b>你</b><p>test </p>

2. 删除节点

Remove()方法 empty()清空节点

3. 复制节点

Clone() $(this).clone(true).appendTo(“body”)

复制元素的同时复制元素中所绑定的事件

4. 替换节点

replaceWith():$(“p”).replaceWith(“<a>test</a>”);

replaceAll():$(“<a>test</a>”). replaceAll (“p”);

5. 包裹节点

$(“div span”)表示选取div中的所有的span元素

$(“parent>children”)选取parent下所有children的子元素

$(‘.one+span')选取class为one的下一个span元素

$(‘.one~div')选取class为one的后面的所有的div兄弟元素

0

6. 属性操作

Attr(); 设置多个$(“p”).attr({“title”:”dd”,”name”:”myp”})

removeAttr()移除属性

7. 样式操作

$(“div span”)表示选取div中的所有的span元素

$(“parent>children”)选取parent下所有children的子元素

$(‘.one+span')选取class为one的下一个span元素

$(‘.one~div')选取class为one的后面的所有的div兄弟元素

1

$(“div span”)表示选取div中的所有的span元素

$(“parent>children”)选取parent下所有children的子元素

$(‘.one+span')选取class为one的下一个span元素

$(‘.one~div')选取class为one的后面的所有的div兄弟元素

2

8.设置和获取html、文本和值

$(“div span”)表示选取div中的所有的span元素

$(“parent>children”)选取parent下所有children的子元素

$(‘.one+span')选取class为one的下一个span元素

$(‘.one~div')选取class为one的后面的所有的div兄弟元素

3

9.遍历节点

$(“div span”)表示选取div中的所有的span元素

$(“parent>children”)选取parent下所有children的子元素

$(‘.one+span')选取class为one的下一个span元素

$(‘.one~div')选取class为one的后面的所有的div兄弟元素

4

CSS-DOM操作

$(“div span”)表示选取div中的所有的span元素

$(“parent>children”)选取parent下所有children的子元素

$(‘.one+span')选取class为one的下一个span元素

$(‘.one~div')选取class为one的后面的所有的div兄弟元素

5

事件和动画

事件

(1) 绑定事件

bind(type[,data],fn);

参数:type:事件类型,也可以自定义名称

data:作为event.data属性值传递给事件对象的额外数据对象

fn:用来绑定的处理函数

绑定多个事件类型

Ex:$(“div”).bind(“mouseover mouseout”,function(){

$(this).toggleClass(“over”);

})

(2) 合成事件

Hover(enter,leave);

用于模拟光标悬停事件。当光标移动到元素上时,会触发指定的第一个函数(enter);当光标移除这个元素时,会触发指定的第二个函数(leave)

toggle(fn1,fn2,….fnN);

用户模拟鼠标连续单击事件。第一次单击元素,触发指定的第一个函数;当在次单击同一个元素时,则触发指定的第二个函数(fn2);如果有更多的函数,则依次触发,知道最后一个。

(3) 冒泡事件

假设网页上有2个元素,其中一个元素嵌套在另一个元素里,并且都被绑定了click事件,同时body元素也绑定了click事件,当点击最里面元素的事件时,同时其它事件也会触发。从内向外

停止事件冒泡的方法:stopPropagation()

Ex:$(‘span').bind(“click”,function(event){

Var txt=$().html()+”<p>内层span元素被单击</p>”;

$(‘#msg').html(txt);

Event.stopPropagation();停止事件冒泡

})

停止表单默认提交:event.preventDefault()==return false;

(4) 移除事件

Unbind([type][,data]);

Type:事件类型

Data:将要移除的函数

(5) 触发一次函数

One(type,[data],fn);

事件触发后立即解除

动画

$(“div span”)表示选取div中的所有的span元素

$(“parent>children”)选取parent下所有children的子元素

$(‘.one+span')选取class为one的下一个span元素

$(‘.one~div')选取class为one的后面的所有的div兄弟元素

6

自定义动画animate

语法结构:animate(params,speed,callback);

参数说明如下:

1.Params:一个包含样式属性及值的映射,比如{property1:“value1”,property2:”value2”,….}

2.Speed:速度参数,可选。

Callback:在动画完成时执行的函数,可选

就暂时先添加这点吧,以后再慢慢完善吧!

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类