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 JQUERY模板实现说明
Jul 03 Javascript
javascript获取元素CSS样式代码示例
Nov 28 Javascript
jQuery获取select选中的option的value值实现方法
Aug 29 Javascript
BootstrapValidator超详细教程(推荐)
Dec 07 Javascript
深入理解 JavaScript 中的 JSON
Apr 06 Javascript
JS库之wow.js使用方法
Sep 14 Javascript
基于Vue生产环境部署详解
Sep 15 Javascript
Bootstrap table使用方法汇总
Nov 17 Javascript
使用vue-route 的 beforeEach 实现导航守卫(路由跳转前验证登录)功能
Mar 22 Javascript
基于脚手架创建Vue项目实现步骤详解
Aug 03 Javascript
vue 中的动态传参和query传参操作
Nov 09 Javascript
JavaScript ES 模块的使用
Nov 12 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递归算法的详细示例分析
2013/02/19 PHP
PHP 5.3新增魔术方法__invoke概述
2014/07/23 PHP
php删除左端与右端空格的方法
2014/11/29 PHP
详解WordPress开发中wp_title()函数的用法
2016/01/07 PHP
Joomla实现组件中弹出一个模式(modal)窗口的方法
2016/05/04 PHP
TNC vs IO BO3 第二场2.13
2021/03/10 DOTA
客户端脚本中常常出现的一些问题和调试技巧
2007/01/09 Javascript
教你如何解密js/vbs/vbscript加密的编码异处理小结
2008/06/25 Javascript
高性能web开发 如何加载JS,JS应该放在什么位置?
2010/05/14 Javascript
javascript操作table(insertRow,deleteRow,insertCell,deleteCell方法详解)
2013/12/16 Javascript
JavaScript实现自动弹出窗口并自动关闭窗口的方法
2015/08/06 Javascript
javascript实现选中复选框后相关输入框变灰不可用的方法
2015/08/11 Javascript
详解Node.js中的事件机制
2016/09/22 Javascript
js实现刷新页面后回到记录时滚动条的位置【两种方案可选】
2016/12/12 Javascript
JavaScript闭包和范围实例详解
2016/12/19 Javascript
Angular.js跨controller实现参数传递的两种方法
2017/02/20 Javascript
通过命令行创建vue项目的方法
2017/07/20 Javascript
关于Promise 异步编程的实例讲解
2017/09/01 Javascript
react-native-fs实现文件下载、文本存储的示例代码
2017/09/22 Javascript
react-router4 配合webpack require.ensure 实现异步加载的示例
2018/01/18 Javascript
angular 未登录状态拦截路由跳转的方法
2018/10/09 Javascript
vue-autoui自匹配webapi的UI控件的实现
2020/03/20 Javascript
编写Python脚本使得web页面上的代码高亮显示
2015/04/24 Python
Python正则简单实例分析
2017/03/21 Python
Python中请不要再用re.compile了
2019/06/30 Python
django数据库自动重连的方法实例
2019/07/21 Python
Python使用文件操作实现一个XX信息管理系统的示例
2020/07/02 Python
构造器Constructor是否可被override?
2013/08/06 面试题
生物制药毕业生自荐信
2013/10/16 职场文书
大学军训感想
2014/02/12 职场文书
青春演讲稿范文
2014/05/08 职场文书
档案管理员岗位职责
2015/02/12 职场文书
党员“一帮一”活动总结
2015/05/07 职场文书
硕士学位申请报告
2015/05/15 职场文书
关于企业的执行力标语大全
2020/01/06 职场文书
Python使用pandas导入xlsx格式的excel文件内容操作代码
2022/12/24 Python