一、基本筛选器

:first // 第一个
:last // 最后一个
:eq(index)// 索引等于index的那个元素
:even // 匹配所有索引值为偶数的元素,从 0 开始计数
:odd // 匹配所有索引值为奇数的元素,从 0 开始计数
:gt(index)// 匹配所有大于给定索引值的元素
:lt(index)// 匹配所有小于给定索引值的元素
:not(元素选择器)// 移除所有满足not条件的标签
:has(元素选择器)// 选取所有包含一个或多个标签在其内的标签(指的是从后代元素找)
<!DOCTYPE html>
<html>
<head>
<title>基本筛选器</title>
</head>
<body>
<ul id="ul1">
<li>1</li>
<li>2</li>
<li id="li3">3</li>
<li>4</li>
<li>5</li> </ul> <script src="jquery-3.3.1.js"></script>
<script type="text/javascript">
var ulfirst = $("#ul1>li:first");
// 第一个标签
console.log(ulfirst); //最后一个li标签
var ullast = $("#ul1>li:last");
console.log(ullast); //eq(index) 索引等于index的那个元素
var uleq = $("#ul1>li:eq(2)"); // 索引是从0开始的
console.log(uleq); //匹配索引是偶数的元素
var uleven = $("#ul1>li:even");
console.log(uleven);
//匹配索引是奇数的元素
var ulodd = $("#ul1>li:odd");
console.log(ulodd); //匹配所有大于给定值的元素
var ulgt = $("#ul1>li:gt(3)");//不包括3
console.log(ulgt);
//匹配所有小于给定值的元素
var ullt = $("#ul1>li:lt(3)");//不包括3
console.log(ullt); // 移除所有满足not条件的标签
var ulnot = $("#ul1>li:not(#li3)");
console.log(ulnot); // 选取所有包含一个或多个标签在其内的标签(指的是从后代元素找)
var ulhas = $("#ul1:has(li)"); //返回包含li标签的ul,本页面就是一个ul
console.log(ulhas); </script>
</body>
</html>

基本筛选器demo

二、表单常用筛选器

:text
:password
:file
:radio
:checkbox :submit
:reset
:button
<!DOCTYPE html>
<html>
<head>
<title>表单基本筛选器</title>
</head>
<body>
<form>
<input type="radio" name="sex" value="男" checked="checked">男
<input type="radio" name="sex" value="女">女
<select>
<option>1</option>
<option>2</option>
<option selected="selected">3</option>
<option>4</option>
</select>
<input type="checkbox" name="" value="" checked="checked" />足球
<input type="checkbox" name="" value="" />篮球
<input type="checkbox" name="" value="" />乒乓球
</form> <script src="jquery-3.3.1.js"></script>
<script type="text/javascript">
// 获取所有checked
var checkinpu = $("input:checked");
var selectedinpu = $(":selected");
console.log(checkinpu);
console.log(selectedinpu); var checkinpu = $(":checked"); //将会把select也命中
console.log(checkinpu);
</script>
</body>
</html>

表单常用筛选器demo

三、 关系筛选器

下一个元素

$("#id").next()
$("#id").nextAll()
$("#id").nextUntil("#i2")

上一个元素

$("#id").prev()
$("#id").prevAll()
$("#id").prevUntil("#i2")

父亲元素

$("#id").parent()
$("#id").parents() // 查找当前元素的所有的父辈元素
$("#id").parentsUntil() // 查找当前元素的所有的父辈元素,直到遇到匹配的那个元素为止。

儿子和兄弟元素

$("#id").children();// 儿子们
$("#id").siblings();// 兄弟们

查找元素

$("#id").find()// 搜索所有与指定表达式匹配的元素。这个函数是找出正在处理的元素的后代元素的好方法。

补充:

.first()// 获取匹配的第一个元素
.last()// 获取匹配的最后一个元素
.not()// 从匹配元素的集合中删除与指定表达式匹配的元素
.has()// 保留包含特定后代的元素,去掉那些不含有指定后代的元素。
<!DOCTYPE html>
<html>
<head>
<title>关系筛选器</title>
</head>
<body>
<ul id="ul1">
<li id="li1">1</li>
<li>2</li>
<li id="li3">3</li>
<li>4</li>
<li id="li5">5</li>
</ul> <script src="jquery-3.3.1.js"></script>
<script type="text/javascript"> // 下一个元素
var li3 = $("#li3");
console.log(li3.next()); // 下一个元素
console.log(li3.nextAll());//下面所有的元素
console.log(li3.nextUntil("#li5"))//下面所有的元素直到xx停止,只有一个<li>4</li>
//上一个元素
console.log(li3.prev());
console.log(li3.prevAll());
console.log(li3.prevUntil("#li1")); console.log("============父亲=======================");
//父亲元素
console.log(li3.parent()); // ul
console.log(li3.parents());// 一直往上 ul body html
console.log(li3.parentsUntil("body")); //就只会得到ul。因为到body就终止了
console.log("============儿子和兄弟======================");
//儿子和兄弟元素
console.log(li3.parent().children()); // 获取所有父亲的子元素
console.log(li3.siblings()); // 除他本身外,上面下面全部获取
console.log("============补充======================");
console.log(li3.parent().children().first()); // 获取第一个
console.log(li3.parent().children().last()); // 获取最后一个
console.log(li3.parent().children().not("#li3")); // 从匹配元素的集合中(结果)删除与指定表达式匹配的元素 把#li3过滤掉
console.log(li3.parent().children().has("#li3"));//保留包含特定后代的元素,去掉那些不含有指定后代的元素. </script>
</body>
</html>

关系筛选器demo

<!DOCTYPE html>
<html>
<head>
<title>find以jQuery对象为基准,查找子节点</title>
</head>
<body> <ul class="lang">
<li class="js dy">JavaScript</li>
<li class="dy">Python</li>
<li id="swift">Swift</li>
<li class="dy">Scheme</li>
<li name="haskell">Haskell</li>
</ul>
<script src="jquery-3.3.1.js"></script>
<script type="text/javascript">
//使用find()查找
var ul1 = $(".lang");
console.log(ul1);
console.log(ul1.find(".dy")); // 以ul1为基准,查找子节点中包含类dy的节点
console.log(ul1.find("#swift"));
console.log(ul1.find("[name='haskell']")); // 如果要想从当前节点向上查找,使用parent()方法;
var swf = $("#swift");
console.log(swf.parent()); // 得到父标签ul
console.log(swf.parent(".red")); // 同时可以传入条件,如果不符合条件的话,返回空 //同级的话使用next()和prev()
var swf = $("#swift");
console.log(swf.prev()); // <li class="dy">Python</li>
console.log(swf.next());// <li class="dy">Scheme</li> </script>
</body>
</html>

使用find()查找demo

jQuery基本筛选器-表单筛选器-关系筛选器的更多相关文章

  1. jQuery---jq基础了解(语法,特性),JQ和JS的区别对比,JQ和JS相互转换,Jquery的选择器(基础选择器,层级选择器,属性选择器),Jquery的筛选器(基本筛选器,表单筛选器),Jquery筛选方法

    jQuery---jq基础了解(语法,特性),JQ和JS的区别对比,JQ和JS相互转换,Jquery的选择器(基础选择器,层级选择器,属性选择器),Jquery的筛选器(基本筛选器,表单筛选器),Jq ...

  2. jQuery html5Validate基于HTML5表单验证插件

    更新于2016-02-25 前面提到的新版目前线上已经可以访问: http://mp.gtimg.cn/old_mp/assets/js/common/ui/Validate.js demo体验狠狠地 ...

  3. jquery通过class验证表单不能为空

    在开发系统时,往往都有某些表单数据为必填项,若用jQuery通过ID去验证,不仅会影响效率,还会有所遗漏,不易于后期维护. 本章将介绍如何利用jQuery,通过为表单配置class进行统一验证.(ID ...

  4. 运用jQuery写的验证表单

    //运用jQuery写的验证表单 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "h ...

  5. jquery.form.js 让表单提交更优雅

    jquery.form.js 让表单提交更优雅.可以页面不刷新提交表单,比jQuery的ajax提交要功能强大. 1.引入 <script src="/src/jquery-1.9.1 ...

  6. 基于jQuery商品分类选择提交表单代码

    分享一款基于jQuery商品分类选择提交表单代码.这是一款基于jQuery实现的商品信息选择列表表单提交代码. 在线预览   源码下载 实现的代码: <div class="yList ...

  7. 第二百二十一节,jQuery EasyUI,Form(表单)组件

    jQuery EasyUI,Form(表单)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解 EasyUI 中 Form(表单)组件的使用方法,这个组件不依赖于 ...

  8. Jquery来对form表单提交(mvc方案)

    来自:http://www.cnblogs.com/lmfeng/archive/2011/06/18/2084325.html 我先说明一下,这是asp.net mvc 里面的用法, Jquery来 ...

  9. jquery.validate.js 验证表单时,在IE当中未验证就直接提交的原因

    jquery.validate.js 验证表单时,在IE当中未验证就直接提交的原因 今天利用了jquery.validate.js来验证表单,发现在火狐.谷歌浏览器当中都可以进行验证,但是在IE系列浏 ...

  10. jquery扩展方法(表单数据格式化为json对象)

    1.jquery扩展方法(表单数据格式化为json对象) <script type="text/javascript"> // 将表单数据序列化为一个json对象,例如 ...

随机推荐

  1. 如何合理的规划jvm性能调优

    JVM性能调优涉及到方方面面的取舍,往往是牵一发而动全身,需要全盘考虑各方面的影响.但也有一些基础的理论和原则,理解这些理论并遵循这些原则会让你的性能调优任务将会更加轻松.为了更好的理解本篇所介绍的内 ...

  2. 【BZOJ4903/UOJ300】【CTSC2017】吉夫特

    Description 传送门 ​ 简述题意:给一个序列,询问有多少子序列满足其中不会出现\(a\choose b\)是偶数的情况,其中\(a\)在\(b\)前面. Solution 首先探究组合数的 ...

  3. 解题:CF825E Minimal Labels

    题面 看起来似乎是个水水的拓扑排序+堆,然而并不对,因为BFS拓扑排序的话每次只会在“当前”的点中排出一个最小/大的字典序,而我们是要一个确定的点的字典序尽量小.正确的做法是反向建图,之后跑一个字典序 ...

  4. fzyzojP3412 -- [校内训练20171212]奇数

    套路地, 考虑dfs树上搞事情 容易发现,对于(x,y)如果dfs树上距离为奇数,或者dfs树上路径中有一条边在某个简单奇环上,那么可以经过奇数条边到达 判断边在某个奇环上: 点双,点双中黑白染色,如 ...

  5. xampp+vscode开发php的配置流程

    一.所需文件 1.xampp集成服务器(个人使用7.1.7)https://www.apachefriends.org/download.html 2.vscode https://code.visu ...

  6. P1776 宝物筛选_NOI导刊2010提高(02)&& 多重背包二进制优化

    多重背包, 要求 \(N\log N\) 复杂度 Solution 众所周和, \(1-N\) 之内的任何数可以由 \(2^{0}, 2^{1}, 2^{2} ... 2^{\log N}, N - ...

  7. 转:String StringBuffer StringBuilder区别

    转自:http://www.iteye.com/topic/522167 作者:每次上网冲杯Java时,都能看到关于String无休无止的争论.还是觉得有必要让这个讨厌又很可爱的String美眉,赤裸 ...

  8. 支持iis高并发

    支持高并发的IIS Web服务器常用设置   适用的IIS版本:IIS 7.0, IIS 7.5, IIS 8.0 适用的Windows版本:Windows Server 2008, Windows ...

  9. 2017 清北济南考前刷题Day 2 morning

    期望得分:100+30+60=190 实际得分:100+30+30=160 T1 最优方案跳的高度一定是单调的 所以先按高度排序 dp[i][j] 跳了i次跳到j 枚举从哪儿跳到j转移即可 #incl ...

  10. ZeroMQ API(六) 代理

    1.zmq_proxy(3) 1.1 名称 zmq_proxy - 开始内置ZMQ代理 1.2 概要 int zmq_proxy(const void * frontend,const void * ...