jQ选择器学习片段(JavaScript 部分对应)
$()函数在大多的JavaScript类库中都被作为一个选择器函数来使用,在jQuery中就是。
$(“#id”)通过id来获取元素,用来代替document.getElementById()函数。红色函数(JavaScript)
$(“tagName”)通过标签名来获取元素,用来代替document.getElementsByTagName()函数。
jQuery的基本语法是:$(selector).action(), selector即选择器。
jQuery选择器的分类
jQuery的选择器基本可以分为四大类:
基本选择器(basic)
层次选择器(level)
过滤选择器(filter)
表单选择器(form)
一、基本选择器(basic)
* 匹配所有元素.示例:$(“*")选取所有元素。
#id根据给定的id匹配元素(最多只返回一个元素).示例: $("#IdName”)选取id="IdName"的元素。
.class根据给定的类名匹配元素.示例:$(".ClassName”)选取所有class=“ClassName"的元素。
element根据给定的元素名匹配元素.示例: $(“p")选取所有<p>元素。
.class.class 示例: $(".ClassName.MyClass”)选取所有且class="MyClass”的元素.(交集)。
selector1, selector2, …, selectorN, 将每一个选择器匹配到的元素合并后一起返回.(并集)。
除了#id选择器返回单个元素外,其他选择器返回的都是元素集合。
这是因为HTML规范里面id应该是唯一的,所以重复id的元素没有被考虑。
如果多个元素的id相同,取这个id也只能获取第一个元素.即获取的jQuery对象的length属性是1。
如果要匹配的元素不存在,则都返回一个空的jQuery对象。
基本选择器之间可以组合,用逗号分隔,结果取所有条件的结果的并集。
当没有用逗号分隔时,应该是所有条件都满足的交集。
二、层次选择器(level)
$(“div span”) 选取dia元素里的所有span后代元素,包括直接子元素和更深嵌套的后代元素。(即在div 即可,无论是否多层嵌套)
例:$(“div span”)选取<div>里的所有的<span>元素。
注意:选择器都是全页面扫描,返回一个集合,所有符合选择条件的元素都会被包括进去。所以多个<div>下面的<span>都会被选择。
$(“parent>child”)选取parent元素下的child子元素,即只有直接子元素被选取.其他后代元素不包括.
例:$(“div>span”)选取<div>元素下元素名是<span>的子元素.
$(“prev+next”)选取紧接在prev元素后的next元素(同一层级)。
例:$(“.one+div”)选取class为one的下一个div元素。
$(“prev+siblings”)选取prev元素之后的所有siblings元素(同一层级)。
例:$(“#two~div”)选取id为two的元素后面的所有<div>兄弟元素。
等价方法:
$(“prev+next”)等价于方法$(“prev”).next(“next”);选取prev元素之后紧接着的一个next元素。
$(“prev~sublings”)等价于方法$(“prev”).nextAll(“sublings”),选取prev元素之后的所有同级的sublings元素。
而$(“prev”).sublings(“next”)方法选取与prev同辈的所有next元素,与前后位置无关。
三、部分过滤选择器
基本过滤选择器规则:
| 选 择 器 | 描 述 | 返 回 | 示 例 |
| :first | 选取第1个元素 | 单个元素 | $("div:first")选取所有 <div>元素 中第一个<div>元素 |
| :last | 选取最后1个元素 | 单个元素 | $("div:last")选取所有 <div>元素 中最后一个<div>元素 |
| :not(selector) | 去除所有与给定选择器 匹配的元素 |
集合元素 | $("input:not(.myClass)")选取class不是 myClass的<input>元素 |
| :even | 选取索引(从0开始)是偶数 的所有元素 |
集合元素 | $("input:even")选取索引是偶数的 <input>元素 |
| :odd | 选取索引(从0开始)是奇数 的所有元素 |
集合元素 | $("input:odd")选取索引是奇数的 <input>元素 |
| :eq(index) | 选取索引(从0开始)等于 index的元素 |
单个元素 | $("input:eq(1)")选取索引等于1的 <input>元素 |
| :gt(index) | 选取索引(从0开始)大于 index的元素 |
集合元素 | $("input:gt(1)")选取索引大于1的 <input>元素 |
| :lt(index) | 选取索引(从0开始)小于 index的元素 |
集合元素 | $("input:lt(1)")选取索引小于1的 <input>元素 |
| :header | 选取所有的标题元素,即 <h1>到<h6> |
集合元素 | $(":header")选取页面中所有的标题元素 |
| :animated | 选取当前正在执行动画的 所有元素 |
集合元素 | $("div:animated")选取当前正在执行动画 的<div>元素 |
目前先写到这里!会陆续更新~~
jQ选择器学习片段(JavaScript 部分对应)的更多相关文章
- JQ方法实用案例///鼠标移动到div和修改ipt中弹窗、CSS鼠标变小手、JQ获取元素属性、JQ选择器
今天学习了jQ,jQ对js的帮助很大,菜鸟教程上也有属性.可以查看 js 和 jquery主要的区别 在 dom 想用jquery 必须先引入(顺序问题) 先css 再js: ...
- jQuery中的基本的选择器学习(补充版)
先看整体代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <t ...
- HTML 学习笔记 JavaScript(面向对象)
现在让我们继续跟着大神的脚步前进 学习一下JavaScript中的面向对象的思想,其实作为一个iOS开发者,对面向对象还是比较熟悉的,但是昨晚看了一下Js中的面向对象,妈蛋 一脸萌比啊.还好有大神.让 ...
- JavaScript学习13 JavaScript中的继承
JavaScript学习13 JavaScript中的继承 继承第一种方式:对象冒充 <script type="text/javascript"> //继承第一种方式 ...
- 前端之JavaScript第一天学习(1)-JavaScript 简介
javaScript 是世界上最流行的编程语言. 这门语言可用于 HTML 和 web,更可广泛用于服务器.PC.笔记本电脑.平板电脑和智能手机等设备. JavaScript 是脚本语言 JavaSc ...
- Javascript学习2 - Javascript中的表达式和运算符
原文:Javascript学习2 - Javascript中的表达式和运算符 Javascript中的运算符与C/C++中的运算符相似,但有几处不同的地方,相对于C/C++,也增加了几个不同的运算符, ...
- Javascript学习1 - Javascript中的类型对象
原文:Javascript学习1 - Javascript中的类型对象 1.1关于Numbers对象. 常用的方法:number.toString() 不用具体介绍,把数字转换为字符串,相应的还有一个 ...
- jq选择器(jq 与 js 互相转换),jq操作css样式 / 文本内容, jq操作类名,jq操作全局属性,jq获取盒子信息,jq获取位置信息
jq选择器(jq 与 js 互相转换) // 获取所有的页面元素jq对象 $('css3选择器语法'); var $box = $(".box:nth-child(1)"); 获取 ...
- 学习现代 JavaScript 编程的最佳教程
天天编码 , 版权所有丨本文标题:0.0 学习现代 JavaScript 编程的最佳教程 转载请保留页面地址:http://www.tiantianbianma.com/the-modern-java ...
随机推荐
- 如何实现侧边栏菜单之间的分割线——不用border-bottom
相信大家都遇到过这样一个老生常谈的问题,就是如果当我们所要做的菜单是侧边栏,垂直方向自上而下的排列的菜单栏,我们在做的时候通常的构想是这样的,就是在每两个菜单之间添加分割线,通常的想法就是说给每个菜单 ...
- Linux运维人员共用root帐户权限审计
Linux运维人员共用root帐户权限审计 2016-11-02 运维部落 一.应用场景 在中小型企业,公司不同运维人员基本都是以root 账户进行服务器的登陆管理,缺少了账户权限审计制度.不出问题还 ...
- [转]关于jquery中html()、text()、val()的区别
原文地址:http://www.cnblogs.com/xiaolifeidao/p/3715830.html .html()用为读取和修改元素的HTML标签 对应js中的innerHTML . ...
- 【BZOJ 4455】【UOJ #185】【ZJOI 2016】小星星
http://www.lydsy.com/JudgeOnline/problem.php?id=4455 http://uoj.ac/problem/185 有一个$O(n^n)$的暴力,放宽限制可以 ...
- 【BZOJ 3735】苹果树 树上莫队(树分块+离线莫队+鬼畜的压行)
2016-05-09 UPD:学习了新的DFS序列分块,然后发现这个东西是战术核导弹?反正比下面的树分块不知道要快到哪里去了 #include<cmath> #include<cst ...
- Region-Based Segmentation
读完10.4 Region-Based Segmentation这一小节, 新get到的且需要留意的知识点: Region Spltting and Merging, quadtrees Waters ...
- Edge Linking
因为噪声的存在, 检测出来的edge points有很多都是不相邻的. 所以边缘检测算法通常都有最后的连接步骤: 将属于同一edge的不相邻点连接起来(TODO, 是用一条路径将它们连通, 把路径中的 ...
- hdu3416 判断最短路是否唯一(每条边只能走一次)
Marriage Match IV Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ...
- Office 2013 Pro Plus Vol激活
先确认自己是office2013 vol(大客户版),然后cmd(管理员)里面运行如下命令: cd "C:\Program Files\Microsoft Office\Office15&q ...
- 详解Mac配置虚拟环境Virtualenv
virtualenv 可以用来建立一个专属于项目的python环境,保持一个干净的环境.只需要通过命令创建一个虚拟环境,不用的时候通过命令退出,删除. 下面介绍一下安装方法: 安装 virtualen ...