jQuery Selector选择器小结


Posted in Javascript onMay 06, 2010

//jQuery 选择器 $
//$(expression,[context]) return jQuery
//Unit One
//expression 之 CSS 定义符 就是以CSS语法表示所要选择的元素

// $("*"); // 表示页面所有元素标签
// $("th, td") // 表示所有<th><td>元素标签
// $("a") // 表示所有<a>元素标签
// $("div#onlydiv"); // 表示CSS选择中id=onlyidv的元素 $("#ID")为全文档匹配
// $("#rating"); // 表示id=rating的元素
// $("#orderedlist > li"); // 表示id=orderedlist 所有子元素,但不包括子元素下的子元素
// $("#orderedlist li:last"); // 表示id=orderedlist 中li最后一个元素
// $("#orderedlist li:first"); // 表示id=orderedlist 中li第一个元素
// $("#orderedlist li:nth- child(0)"); //表示id=orderedlist 中li第(N)个元素 n为数组下标
// $("button:only-child"); //表示 css选择中的它为父容器唯一的元素
// $(".stuff:empty"); // 表示css选择中的空元素
// $(".buttons:enabled"); // 表示css选择中的正常启用的元素
// $(".buttons:disabled"); // 表示css选择中的非启用元素
// $("input:checked"); // 表示css选择中的选中的元素
// $("button:not(.not)"); // 表示css选择中的去除not()中的元素
// $("button.not"); // 表示css选择中的class=not的元素 $(".CLSS")为全文档匹配
// $("#orderedlist2 li"); // 表示id=orderedlist 所有子元素且包括所有子元素的子元素
// //alert($("#orderedlist ~ li").length);
// $("#orderedlist,.buttons,li"); //匹配 css选择符的元素

//expression 之 根据元素属性选择
// alert($("button[@class]").length); // 表示有class属性的元素
// alert($("button[@class=not").length); // 表示有class属性且值等于not的元素
// alert($('button[@class^=not').length); // 表示有class属性且值开头匹配not的元素
// alert($('button[@class$=not').length); // 表示有class属性且值结尾匹配not的元素
// alert($('button[@class*=not').length); // 表示有class属性且值中匹配not的元素
//expression 之 XPATH 过滤器 XPATH语法来表示需要选择的页面元素
//$("ol[@id^='orderedlist']").find("li:contains('First')").each(function(i) {
//// $(this).html( $(this).html() + " BAM! " + i );
// $(this).mouseover(function(){
// $(this).css("color","red");
// });
// $(this).mouseout(function(){
// $(this).css("color","#000");
// });
// });
//查找ol标签且属性 id=orderedlist的所有元素,这里有两种写法
//ol[@id='orderedlist'] 定位父元素 直接用each 迭代
//ol[@id='orderedlist']/* 所有父元素下的子元素 使用find('child- element').each()迭代

//Unit two
///$( html, [ownerDocument]) return jQuery
//这个函数允许传入html元素文本,构造器会产生这个HTML文本所创造的jQuery对象,这个对象可以是原本没有的,也可是原本页面上存在的
//$('<p>hello</p>').appendTo("h2"); //生成一个标记文本 并追加到页面h2标签内
//也可以 将原本页面元素取出追加
//$("input",this).appendTo("h2"); //注意,这里取出的页面元素,是移动!而不是复制

///$(elements) return jQuery
//这个函数允许直接传入DOM
//$(document.forms[0].elements).appendTo("h2"); // 可以参考DOM文档
//$(callback) return jQuery

//以下是selector一些说明
/*
基础:

#id:根据对象的id属性获取对象。
element:匹配某一HTML标签的所有对象
.class:根据对象的class属性获取对象
*:获取所有的对象
selector1, selector2, selectorN:获取多个选择符的合集,不剔出重复项

层级选择符:
ancestor descendant:这个选择符就是空格,表示先找到第一个选择符的所有对象,然后在他的子孙节点中找到所有符合第二个选择符的对象。
parent > child:这个选择符就是大于号,表示先找到第一个选择符的所有对象,然后在他的子节点(不能是孙节点)中找到所有符合第二个选择符的对象。
prev + next:这个选择符就是加号,表示先找到第一个选择符的所有对象,然后找和他同级的紧跟着的下一个节点同时符合第二个选择符的对象。
prev ~ siblings:这个选择符就是~号,表示先找到第一个选择符的所有对象,然后找和他同级的以后所有节点里面同时符合第二个选择符的对象。

基础过滤符:
:first:匹配多个对象中的第一个对象
:last:匹配多个对象中的最后一个对象
:not(selector):匹配去除了not后面选择符中内容的项
:even:匹配所有对象中的第偶数个
:odd:匹配所有对象中的第奇数个
:eq(index):匹配某一下表的单独某元素
:gt(index):匹配大于某一下标的所有元素
:lt(index):匹配小于某一下标的所有元素
:header:匹配所有的header元素,例如 h1,h2,h3,h4,h5,h6
:animated:匹配所有有动画效果的元素

文本过滤符:
:contains(text):匹配内部拥有该文本元素的对象,包含间接有用的情况
:empty:匹配所有没有子元素的对象
:has(selector):匹配所有至少含有一个子选择符的对象
:parent:匹配所有的父对象,父对象包含那些只含有文本的对象

可见性过滤符:
:hidden:匹配所有隐藏对象,或者input中的hidden类型
:visible:匹配所有可见的对象

属性过滤符:
[attribute]:匹配拥有某一属性的所有对象
[attribute=value]:匹配拥有某一属性和值的对象
[attribute!=value]:匹配拥有某一属性,且不是某一值的对象
[attribute^=value]:匹配拥有某一属性,且以某一值开头的对象
[attribute$=value]:匹配拥有某一属性,且以某一值结尾的对象
[attribute*=value]:匹配拥有某一属性,且包含某一值的对象
[selector1] [selector2][selectorN]:匹配同时符合多个属性选择符的对象

子过滤符:
:nth- child(index/even/odd/equation):匹配子元素中的某一下标/偶数/奇数/等式的对象,:eq(index)只能匹配某单一对象的子元素特征,而这个方法可以匹配多个对象的某一子元素共同特征
:first-child:匹配第一个子元素
:last- child:匹配最后一个子元素
这两个匹配符也可以对多个父对象的所有子元素进行匹配操作
:only-child:如果一个父元素只有一个子元素,就匹配这个子元素

表单过滤符
Name Type

:input Returns: Array<Element(s)>
匹配表单内input元素

:text Returns: Array<Element(s)>
匹配表单内 input type为text的元素

:password Returns: Array<Element(s)>
匹配表单内input type为password的元素

:radio Returns: Array<Element(s)>
匹配表单内input type为radio的元素

:checkbox Returns: Array<Element(s)>
匹配表单内input type为checkbox的元素

:submit Returns: Array<Element(s)>
匹配表单内input type为submit的元素

:image Returns: Array<Element(s)>
匹配表单内image的元素

:reset Returns: Array<Element(s)>
匹配表单内 input type为reset的元素

:button Returns: Array<Element(s)>
匹配表单内input type为button的元素

:file Returns: Array<Element(s)>
匹配表单内input type为file的元素.

:hidden Returns: Array<Element(s)>
匹配表单内input type为hidden的元素或者hidden区域

:enabled Returns: Array<Element(s)>
匹配所有启用元素

:disabled Returns: Array<Element(s)>
匹配所有非启用元素

:checked Returns: Array<Element(s)>
匹配所有选中元素

:selected Returns: Array<Element(s)>
匹配所有下拉列表选中元素

*/

Javascript 相关文章推荐
JSON 学习之完全手册 图文
May 29 Javascript
js 新浪的一个图片播放图片轮换效果代码
Jul 15 Javascript
JavaScript 反科里化 this [译]
Sep 20 Javascript
JS建造者模式基本用法实例分析
Jun 30 Javascript
原生JS实现风箱式demo,并封装了一个运动框架(实例代码)
Jul 22 Javascript
详细探究ES6之Proxy代理
Jul 22 Javascript
js截取字符串功能的实现方法
Sep 27 Javascript
bootstrap select下拉搜索插件使用方法详解
Nov 23 Javascript
使用vue2.6实现抖音【时间轮盘】屏保效果附源码
Apr 24 Javascript
基于vue+axios+lrz.js微信端图片压缩上传方法
Jun 25 Javascript
vue动态路由:路由参数改变,视图不更新问题的解决
Nov 05 Javascript
JS字符串和数组如何实现相互转化
Jul 02 Javascript
Jquery 动态添加按钮实现代码
May 06 #Javascript
jquery DOM操作 基于命令改变页面
May 06 #Javascript
JQuery 学习笔记01 JQuery初接触
May 06 #Javascript
Jquery 扩展方法
May 06 #Javascript
javascript 获取页面的高度及滚动条的位置的代码
May 06 #Javascript
屏蔽F1~F12的快捷键的js函数
May 06 #Javascript
MC Dialog js弹出层 完美兼容多浏览器(5.6更新)
May 06 #Javascript
You might like
PHP中一个控制字符串输出的函数
2006/10/09 PHP
PHP中用header图片地址 简单隐藏图片源地址
2008/04/09 PHP
PHP下编码转换函数mb_convert_encoding与iconv的使用说明
2009/12/16 PHP
隐性调用php程序的方法
2015/06/13 PHP
微信开发之网页授权获取用户信息(二)
2016/01/08 PHP
thinkphp5.1框架容器与依赖注入实例分析
2019/07/23 PHP
验证控件与Button的OnClientClick事件详细解析
2013/12/04 Javascript
jQuery操作元素css样式的三种方法
2014/06/04 Javascript
jQuery往textarea中光标所在位置插入文本的方法
2015/06/26 Javascript
JavaScript面试开发常用的知识点总结
2016/08/08 Javascript
轻松掌握JavaScript状态模式
2016/09/07 Javascript
微信小程序 Audio API详解及实例代码
2016/09/30 Javascript
jQuery内容筛选选择器实例代码
2017/02/06 Javascript
nodejs中使用HTTP分块响应和定时器示例代码
2017/03/19 NodeJs
基于hover的用法实例(推荐)
2017/07/04 Javascript
jQuery实现基本隐藏与显示效果的方法详解
2018/09/05 jQuery
用VueJS写一个Chrome浏览器插件的实现方法
2019/02/27 Javascript
浅谈vue中使用编辑器vue-quill-editor踩过的坑
2020/08/03 Javascript
vue缓存之keep-alive的理解和应用详解
2020/11/02 Javascript
用Python编程实现语音控制电脑
2014/04/01 Python
详解Python中for循环的使用方法
2015/05/14 Python
python中WSGI是什么,Python应用WSGI详解
2017/11/24 Python
python实现将一个数组逆序输出的方法
2018/06/25 Python
django 捕获异常和日志系统过程详解
2019/07/18 Python
全方位了解CSS3的Regions扩展
2015/08/07 HTML / CSS
详解HTML5中的manifest缓存使用
2015/09/09 HTML / CSS
澳大利亚在线高跟鞋商店:Shoe Me
2019/11/19 全球购物
本科毕业生求职自荐信
2014/04/09 职场文书
国际商贸专业自荐信
2014/06/09 职场文书
街道党工委党的群众路线教育实践活动对照检查材料思想汇报
2014/10/05 职场文书
综合素质评价个性发展自我评价
2015/03/06 职场文书
教师实习自我鉴定总结
2019/08/20 职场文书
如何利用python和DOS获取wifi密码
2021/03/31 Python
python 遍历磁盘目录的三种方法
2021/04/02 Python
Spring Boot 排除某个类加载注入IOC的操作
2021/08/02 Java/Android
Docker 镜像介绍以及commit相关操作
2022/04/13 Servers