浅析jQuery中常用的元素查找方法总结


Posted in Javascript onJuly 04, 2013

$("#myELement") 选择id值等于myElement的元素,id值不能重复在文档中只能有一个id值是myElement所以得到的是唯一的元素
$("div") 选择所有的div标签元素,返回div元素数组
$(".myClass")   选择使用myClass类的css的所有元素
$("*") 选择文档中的所有的元素,可以运用多种的选择方式进行联合选择:例如$("#myELement,div,.myclass")

层叠选择器:
$("form input") 选择所有的form元素中的input元素
$("#main > *")  选择id值为main的所有的子元素
$("label + input") 选择所有的label元素的下一个input元素节点,经测试选择器返回的是label标签后面直接跟一个input标签的所有input标签元素
$("#prev ~ div") 同胞选择器,该选择器返回的为id为prev的标签元素的所有的属于同一个父元素的div标签

基本过滤选择器:
$("tr:first") 选择所有tr元素的第一个
$("tr:last")  选择所有tr元素的最后一个
$("input:not(:checked) + span")  

过滤掉:checked的选择器的所有的input元素
$("tr:even")   选择所有的tr元素的第0,2,4... ...个元素(注意:因为所选择的多个元素时为数组,所以序号是从0开始)
$("tr:odd")    选择所有的tr元素的第1,3,5... ...个元素
$("td:eq(2)")  选择所有的td元素中序号为2的那个td元素
$("td:gt(4)")  选择td元素中序号大于4的所有td元素
$("td:ll(4)")  选择td元素中序号小于4的所有的td元素
$(":header")
$("div:animated")

内容过滤选择器:
$("div:contains('John')") 选择所有div中含有John文本的元素
$("td:empty")             选择所有的为空(也不包括文本节点)的td元素的数组
$("div:has(p)")           选择所有含有p标签的div元素
$("td:parent")            选择所有的以td为父节点的元素数组

可视化过滤选择器:
$("div:hidden")           选择所有的被hidden的div元素
$("div:visible")          选择所有的可视化的div元素

属性过滤选择器:
$("div[id]")              选择所有含有id属性的div元素
$("input[name='newsletter']")    选择所有的name属性等于'newsletter'的input元素
$("input[name!='newsletter']")   选择所有的name属性不等于'newsletter'的input元素
$("input[name^='news']")         选择所有的name属性以'news'开头的input元素
$("input[name$='news']")         选择所有的name属性以'news'结尾的input元素
$("input[name*='man']")          选择所有的name属性包含'news'的input元素
$("input[id][name$='man']")    可以使用多个属性进行联合选择,该选择器是得到所有的含有id属性并且那么属性以man结尾的元素

子元素过滤选择器:
$("ul li:nth-child(2)"),$("ul li:nth-child(odd)"),$("ul li:nth-child(3n + 1)")
$("div span:first-child")   返回所有的div元素的第一个子节点的数组
$("div span:last-child")    返回所有的div元素的最后一个节点的数组
$("div button:only-child")  返回所有的div中只有唯一一个子节点的所有子节点的数组

表单元素选择器:
$(":input")       选择所有的表单输入元素,包括input, textarea, select 和 button
$(":text")        选择所有的text input元素
$(":password")    选择所有的password input元素
$(":radio")       选择所有的radio input元素
$(":checkbox")    选择所有的checkbox input元素
$(":submit")      选择所有的submit input元素
$(":image")       选择所有的image input元素
$(":reset")       选择所有的reset input元素
$(":button")      选择所有的button input元素
$(":file")        选择所有的file input元素
$(":hidden")      选择所有类型为hidden的input元素或表单的隐藏域

表单元素过滤选择器:
$(":enabled")   选择所有的可操作的表单元素
$(":disabled")  选择所有的不可操作的表单元素
$(":checked")   选择所有的被checked的表单元素
$("select option:selected") 选择所有的select 的子元素中被selected的元素

选取一个name 为”S_03_22″的input text框的上一个td的text值
$(”input[@name =S_03_22]“).parent().prev().text()
名字以”S_”开始,并且不是以”_R”结尾的
$(”input[@name ^='S_']“).not(”[@name $='_R']“)
一个名为radio_01的radio所选的值
$(”input[@name =radio_01][@checked]“).val();

$("A B") 查找A元素下面的所有子节点,包括非直接子节点
$("A>B") 查找A元素下面的直接子节点
$("A+B") 查找A元素后面的兄弟节点,包括非直接子节点
$("A~B") 查找A元素后面的兄弟节点,不包括非直接子节点

1. $("A B") 查找A元素下面的所有子节点,包括非直接子节点
例子:找到表单中所有的 input 元素
HTML 代码:
<form>
<label>Name:</label>
<input name="name" />
<fieldset>
      <label>Newsletter:</label>
      <input name="newsletter" />
</fieldset>
</form>
<input name="none" />
jQuery 代码:
$("form input")
结果:
[ <input name="name" />, <input name="newsletter" /> ]

2. $("A>B") 查找A元素下面的直接子节点
例子:匹配表单中所有的子级input元素。
HTML 代码:
<form>
<label>Name:</label>
<input name="name" />
<fieldset>
      <label>Newsletter:</label>
      <input name="newsletter" />
</fieldset>
</form>
<input name="none" />
jQuery 代码:
$("form > input")
结果:
[ <input name="name" /> ]

3. $("A+B") 查找A元素后面的兄弟节点,包括非直接子节点
例子:匹配所有跟在 label 后面的 input 元素
HTML 代码:
<form>
<label>Name:</label>
<input name="name" />
<fieldset>
      <label>Newsletter:</label>
      <input name="newsletter" />
</fieldset>
</form>
<input name="none" />
jQuery 代码:
$("label + input")
结果:
[ <input name="name" />, <input name="newsletter" /> ]

4. $("A~B") 查找A元素后面的兄弟节点,不包括非直接子节点
例子:找到所有与表单同辈的 input 元素
HTML 代码:
<form>
<label>Name:</label>
<input name="name" />
<fieldset>
      <label>Newsletter:</label>
      <input name="newsletter" />
</fieldset>
</form>
<input name="none" />
jQuery 代码:
$("form ~ input")
结果:
[ <input name="none" /> ]

Javascript 相关文章推荐
setInterval 和 setTimeout会产生内存溢出
Feb 15 Javascript
IE6图片加载的一个BUG解决方法
Jul 13 Javascript
动态加载图片路径 保持JavaScript控件的相对独立性
Sep 06 Javascript
jQuery结合PHP+MySQL实现二级联动下拉列表[实例]
Nov 15 Javascript
js判断选择时间不能小于当前时间的示例代码
Sep 24 Javascript
js解析json读取List中的实体对象示例
Mar 11 Javascript
JavaScript实现将UPC转换成ISBN的方法
May 26 Javascript
javascript实现动态表头及表列的展现方法
Jul 14 Javascript
Easyui在treegrid添加控件的实现方法
Jun 23 Javascript
vue组件编写之todolist组件实例详解
Jan 22 Javascript
Nuxt配合Node在实际生产中的应用详解
Aug 07 Javascript
vue使用lodop打印控件实现浏览器兼容打印的方法
Feb 07 Vue.js
浅析jQuery对select操作小结(遍历option,操作option)
Jul 04 #Javascript
解析jQuery与其它js(Prototype)库兼容共存
Jul 04 #Javascript
JQuery-tableDnD 拖拽的基本使用介绍
Jul 04 #Javascript
JQuery.Ajax之错误调试帮助信息介绍
Jul 04 #Javascript
浅析JQuery获取和设置Select选项的常用方法总结
Jul 04 #Javascript
开发 Internet Explorer 右键功能表(ContextMenu)
Jul 03 #Javascript
简单几行JS Code实现IE邮件转发新浪微博
Jul 03 #Javascript
You might like
使用VisualStudio开发php的图文设置方法
2010/08/21 PHP
利用PHP访问带有密码的Redis方法示例
2017/02/09 PHP
yii2 commands模式以及配置crontab定时任务的方法
2017/08/19 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
2018/06/16 PHP
PHP使用反向Ajax技术实现在线客服系统详解
2019/07/01 PHP
Prototype Function对象 学习
2009/07/12 Javascript
javascript Array.prototype.slice使用说明
2010/10/11 Javascript
鼠标右击事件代码(asp.net后台)
2011/01/27 Javascript
JavaScript调用后台的三种方法实例
2013/10/17 Javascript
jquery选择器需要注意的问题
2014/11/26 Javascript
基于javascript实现图片懒加载
2016/01/05 Javascript
Bootstrap基本插件学习笔记之Tooltip提示工具(18)
2016/12/08 Javascript
BootStrap selectpicker后台动态绑定数据的方法
2017/07/28 Javascript
使vue实现jQuery调用的两种方法
2019/05/12 jQuery
[01:15:00]LGD vs Mineski Supermajor 胜者组 BO3 第一场 6.5
2018/06/06 DOTA
详解Python的Lambda函数与排序
2016/10/25 Python
python使用socket创建tcp服务器和客户端
2018/04/12 Python
python更改已存在excel文件的方法
2018/05/03 Python
对pycharm 修改程序运行所需内存详解
2018/12/03 Python
pytorch在fintune时将sequential中的层输出方法,以vgg为例
2019/08/20 Python
使用python求解二次规划的问题
2020/02/29 Python
Python实现删除某列中含有空值的行的示例代码
2020/07/20 Python
Python中Selenium库使用教程详解
2020/07/23 Python
python正则表达式re.match()匹配多个字符方法的实现
2021/01/27 Python
网页切图的CSS和布局经验与要点
2015/04/09 HTML / CSS
九年级化学教学反思
2014/01/28 职场文书
中国梦主题教育活动总结
2014/05/05 职场文书
远程培训的心得体会
2014/09/01 职场文书
比赛主持人开场白
2015/05/29 职场文书
单位工资证明范本
2015/06/12 职场文书
小学学习委员竞选稿
2015/11/20 职场文书
mybatis 解决从列名到属性名的自动映射失败问题
2021/06/30 Java/Android
python数字转对应中文的方法总结
2021/08/02 Python
教你如何让spark sql写mysql的时候支持update操作
2022/02/15 MySQL
详细介绍Java中的CyclicBarrier
2022/04/13 Java/Android
mysqldump进行数据备份详解
2022/07/15 MySQL