JQuery总结之——选择器

来源:互联网 发布:行业分析报告 知乎 编辑:程序博客网 时间:2024/06/16 22:20

一、JQery简介

JQ是一种封装了很多预定义的对象和实用函数的JavaScript类库。

JQ是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器。

当前流行的JS库除了JQery外,还有MooTools、PrototypeDojoYUIEXT_JSDWR等。

二、JQ的优势

1、JQ非常的轻巧,采用DeanEdwards编写的Packer(http://dean.edwards.name/packer/压缩后,大小不到30KB

2、JQ具有强大的选择器,出色的DOM操作封装。

3、可靠的事件处理机制。

4、具有完善的Ajax。

5、不污染顶级变量(只建立一个名为JQuery的对象,其余所有的操作函数方法都在这个对象之下完成)。

6、浏览器的兼容性很出色。

7、链式操作方式(同时发生在一个JQ对象上的动作,可以直接链式写而不需要重复的获取对象)。

8、隐式迭代。

9、行为层次结构分明。

10、具有丰富的插件支持,后期扩展非常方便。

11.具有完善的文档注释。

三、JQ的核心:函数和对象的访问

页面加载函数的写法:

1、最原始最麻烦的写法: jQuery(document).ready(function(){  });2、简写方式(开发中常用):  $(function(){});

JQ与JS页面加载的区别:

1、JS页面加载存在覆盖问题,加载速度比JQ慢(除了要加载整个页面还得加载与之相关资源)。

2.、JQ页面加载不存在覆盖问题,按照书写顺序依次执行,加载速度比JS快(当整个文档绘制完毕后就执行)。

JQ对象与DOM对象之间的转换:

1、JQ向DOM转换 (可能忘记了JQ里面的方法但是记得DOM的操作)
    方式一:$(element).get(index,一般都是0)
    方式二:$(element)[0]

2、DOM向JQ转换 (使用$()将DOM对象包裹起来)
    $(DOM对象)

注意:JQ和DOM对象不能互相使用对方的属性和方法!

四、选择器

基本选择器:

id选择器:("#id")

类选择器:("element")

元素选择器:(".class")

统配符:("*")

多个选择器同时作业(并集,中间用逗号分开):("selector1,selector2,selectorN")

层级选择器:


("A B")  寻找A下面的所有包含B元素的内容(儿子、孙子、重孙子)

("A>B")   寻找A下面的所有包含B元素的内容(只找儿子

("A+B")   寻找所有匹配的紧接在A元素后的B元素(下一个同桌)

("A~B")   寻找A元素后的所有B元素(只找同辈元素

基本过滤选择器:


(":first")  匹配符合条件的第一个元素(只取一个

(":last")  匹配符合条件的最后一个元素(只取一个

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

(":even")  匹配符合条件的所有偶数

(":odd")  匹配符合条件的所有奇数

(":eq(index)") 匹配所有等于给定索引值的元素(索引从0开始)

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

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

(":header") 匹配所有的标题元素(如:h1,h2)

(":animated") 匹配正在执行动画效果的元素

(":focus") 触发每一个匹配元素的focus事件。这将触发所有绑定的focus函数,注意,某些对象不支持focus方法。(1.6 之后)

属性选择器


("[attribute]") 匹配包含给定属性的元素
("[attribute=value]") 匹配给定属性是某个特定值的元素
("[attribute!=value]")匹配所有不含有指定的属性,或者属性不等于特定值的元素。
("[attribute^=value]") 匹配给定的属性是以某些值开始的元素
("[attribute$=value]") 匹配给定的属性是以某些值结尾的元素
("[attribute*=value]")  匹配给定属性包含给你值的元素
("[attrSel1][attrSel2][arrtrSelN]") 匹配满足多个条件的元素

内容过滤选择器

(":contains(text)") 匹配包含给定文本的元素
(":empty") 匹配所有不包含子元素和文本为空的元素
(":has(selector)") 匹配含有选择器所匹配的元素的元素
(":parent") 匹配含有子元素或者文本的元素
可见性选择器

(":hidden") 匹配所有不可见元素,或者type为hidden的元素
(":visible") 匹配所有可见的元素
匹配给定的属性是以包含某些值的元素匹配给定的属性是以包含某些值的元素

表单选择器


(":input") 匹配所有input,textarea,select,button元素
(":text")  匹配所有单行文本框
(":password")  匹配所有的密码框
(":radio") 匹配所有的单选框
(":checkbox") 匹配所有的复选框
(":submit")  匹配所有的提交按钮
(":image") 匹配所有的图像域
(":reset") 匹配所有的重置按钮
(":button") 匹配所有按钮
(":file") 匹配所有文本域
(":enabled") 匹配所有可用元素
(":disabled") 匹配所有不可用元素
(":checked") 匹配所有选中的被选中元素(复选框、单选框等,不包括select中的option)(":selected") 匹配所有被选中的option元素
子元素选择器

(":nth-child") 匹配其父元素下的第N个子或奇偶元素(从1开始)
(":first-child") 匹配每个父元素下的第一个子元素
(":last-child") 匹配每个父元素下的最后一个子元素
(":only-child") 匹配父元素下的唯一 一个子元素(子元素必须唯一)

匹配给定的属性是以包含某些值的元素匹配给定的属性是以包含某些值的元素











0 0
原创粉丝点击