Jquery的选择符是比较帅气的,借用了XPath2.0和CSS1-3中的语法,并且兼容了多个浏览器,让原本非常复杂的DOM,一下子变得简单起来了,手中最新的版本是1.2.2b,下面的所有例子,也是根据此版本提供的例子。
测试HTML代码:
<div id="father"> <div id="first">I am first</div> <div id="second" class="red">I am second</div> <div id="third" style="display:none">I am third</div> </div> <p class="red">I am forth</p> <h4></h4>
基础:
alert($('#first').html());
//显示I am first
element:匹配某一HTML标签的所有对象
alert($('p').length);
//显示4
.class:根据对象的class属性获取对象
alert($('.red').length);
//显示2
*:获取所有的对象
alert($('*').length);
//显示HTML中对象的和,但是不同的浏览器,结果会有所不同
selector1, selector2, selectorN:获取多个选择符的合集,不剔出重复项。
alert($('.red,#second,p').length);
//显示4
层级选择符:
ancestor descendant:这个选择符就是空格,表示先找到第一个选择符的所有对象,然后在他的子孙节点中找到所有符合第二个选择符的对象。
alert($('#father .red').html());
//显示I am second
parent > child:这个选择符就是大于号,表示先找到第一个选择符的所有对象,然后在他的子节点(不能是孙节点)中找到所有符合第二个选择符的对象。
alert($('#father > .red').html());
//显示I am second
prev + next:这个选择符就是加号,表示先找到第一个选择符的所有对象,然后找和他同级的紧跟着的下一个节点同时符合第二个选择符的对象。
alert($('#father + .red').html());
//显示I am forth
prev ~ siblings:这个选择符就是~号,表示先找到第一个选择符的所有对象,然后找和他同级的以后所有节点里面同时符合第二个选择符的对象。
alert($('#first ~ #third').html());
//显示I am third
基础过滤符:
:first:匹配多个对象中的第一个对象
:last:匹配多个对象中的最后一个对象
alert($('.red:first').html());
//显示I am second
alert($('p:last').html());
//显示I am third
:not(selector):匹配去除了not后面选择符中内容的项
alert($('.red:not(#second)').html());
//显示I am forth
:even:匹配所有对象中的第偶数个
:odd:匹配所有对象中的第奇数个
alert($('p:even').length);
//显示2
alert($('p:odd').length);
//显示2
:eq(index):匹配某一下表的单独某元素
alert($('p:eq(2)').html());
//显示I am second
:gt(index):匹配大于某一下标的所有元素
:lt(index):匹配小于某一下标的所有元素
alert($('p:gt(1)').length);
//显示2
alert($('p:lt(2)').length);
//显示2
:header:匹配所有的header元素,例如h1,h2,h3,h4,h5,h6
alert($(':header').length);
//显示1
:animated:匹配所有有动画效果的元素
function animateIt() { $("#second").slideToggle("slow", animateIt); } animateIt(); alert($(':animated').html()); //显示I am second
文本过滤符:
:contains(text):匹配内部拥有该文本元素的对象,包含间接有用的情况
alert($('p:contains("first")').length);
//显示2
:empty:匹配所有没有子元素的对象
alert($(':header:empty').length);
//显示1
:has(selector):匹配所有至少含有一个子选择符的对象
alert($('p:has("#third")').attr('id'));
//显示father
:parent:匹配所有的父对象,父对象包含那些只含有文本的对象
alert($('p:parent').length);
//显示4
可见性过滤符:
:hidden:匹配所有隐藏对象,或者input中的hidden类型
:visible:匹配所有可见的对象
alert($('p:hidden').length);
//显示1
alert($('p:visible').length);
//显示3
属性过滤符:
[attribute]:匹配拥有某一属性的所有对象
[attribute=value]:匹配拥有某一属性和值的对象
[attribute!=value]:匹配拥有某一属性,且不是某一值的对象
[attribute^=value]:匹配拥有某一属性,且以某一值开头的对象
[attribute$=value]:匹配拥有某一属性,且以某一值结尾的对象
[attribute*=value]:匹配拥有某一属性,且包含某一值的对象
alert($('p[class]').html()); //显示I am second alert($('p[class=red]').html()); //显示I am second alert($('p[id!=father]').length); //显示3 alert($('p[id^=f]').length); //显示2 alert($('p[id$=d]').length); //显示2 alert($('p[id*=ir]').length); //显示2
[selector1][selector2][selectorN]:匹配同时符合多个属性选择符的对象
alert($('p[id=second][class^=r]').length);
//显示I am second
子过滤符:
:nth-child(index/even/odd/equation):匹配子元素中的某一下标/偶数/奇数/等式的对象,:eq(index)只能匹配某单一对象的子元素特征,而这个方法可以匹配多个对象的某一子元素共同特征
alert($('#father p:nth-child(1)').html()); //显示I am first alert($('#father p:nth-child(even)').length); //显示1 alert($('#father p:nth-child(odd)').length); //显示2 alert($('#father p:nth-child(3n)').length); //显示1,其实是每3个一匹配
:first-child:匹配第一个子元素
:last-child:匹配最后一个子元素
这两个匹配符也可以对多个父对象的所有子元素进行匹配操作
alert($('#father p:first-child').html()); //显示I am first alert($('#father p:last-child').html()); //显示I am third
:only-child:如果一个父元素只有一个子元素,就匹配这个子元素
alert($('p:only-child').length);
//显示0
以上是jquery selector基础课程实例详解的详细内容。更多信息请关注PHP中文网其他相关文章!

JavaScript在Web开发中的主要用途包括客户端交互、表单验证和异步通信。1)通过DOM操作实现动态内容更新和用户交互;2)在用户提交数据前进行客户端验证,提高用户体验;3)通过AJAX技术实现与服务器的无刷新通信。

理解JavaScript引擎内部工作原理对开发者重要,因为它能帮助编写更高效的代码并理解性能瓶颈和优化策略。1)引擎的工作流程包括解析、编译和执行三个阶段;2)执行过程中,引擎会进行动态优化,如内联缓存和隐藏类;3)最佳实践包括避免全局变量、优化循环、使用const和let,以及避免过度使用闭包。

Python更适合初学者,学习曲线平缓,语法简洁;JavaScript适合前端开发,学习曲线较陡,语法灵活。1.Python语法直观,适用于数据科学和后端开发。2.JavaScript灵活,广泛用于前端和服务器端编程。

Python和JavaScript在社区、库和资源方面的对比各有优劣。1)Python社区友好,适合初学者,但前端开发资源不如JavaScript丰富。2)Python在数据科学和机器学习库方面强大,JavaScript则在前端开发库和框架上更胜一筹。3)两者的学习资源都丰富,但Python适合从官方文档开始,JavaScript则以MDNWebDocs为佳。选择应基于项目需求和个人兴趣。

从C/C 转向JavaScript需要适应动态类型、垃圾回收和异步编程等特点。1)C/C 是静态类型语言,需手动管理内存,而JavaScript是动态类型,垃圾回收自动处理。2)C/C 需编译成机器码,JavaScript则为解释型语言。3)JavaScript引入闭包、原型链和Promise等概念,增强了灵活性和异步编程能力。

不同JavaScript引擎在解析和执行JavaScript代码时,效果会有所不同,因为每个引擎的实现原理和优化策略各有差异。1.词法分析:将源码转换为词法单元。2.语法分析:生成抽象语法树。3.优化和编译:通过JIT编译器生成机器码。4.执行:运行机器码。V8引擎通过即时编译和隐藏类优化,SpiderMonkey使用类型推断系统,导致在相同代码上的性能表现不同。

JavaScript在现实世界中的应用包括服务器端编程、移动应用开发和物联网控制:1.通过Node.js实现服务器端编程,适用于高并发请求处理。2.通过ReactNative进行移动应用开发,支持跨平台部署。3.通过Johnny-Five库用于物联网设备控制,适用于硬件交互。

我使用您的日常技术工具构建了功能性的多租户SaaS应用程序(一个Edtech应用程序),您可以做同样的事情。 首先,什么是多租户SaaS应用程序? 多租户SaaS应用程序可让您从唱歌中为多个客户提供服务


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

SublimeText3汉化版
中文版,非常好用

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具