js层级选择框样式_【JavaWeb】85:jQuery的各种选择器

今天是刘小爱自学Java的第85天。

感谢你的观看,谢谢你。

话不多说,开始今天的学习:

选择器的作用是什么?

可以快速准确地定位我们所需要的标签。

刚学CSS的时候,觉得CSS选择器也太多了吧,直到今天学了jQuery选择器……

一、基本选择器

初学jQuery有个非常令人苦恼的地方:时常会把jQuery语法和js语法搞混。

事实上它们之间的语法有一定的相似度,但基本都不是一样的。

就比如说点击事件(匿名函数注册):js语法:js.οnclick=function(){}。

jQuery语法:jQuery.click(function(){})。

通俗一点理解就是:js对象对应的是属性,给属性赋值。

jQuery对象对应的是方法,给方法一个参数。

CSS中基本选择器有3种,在jQuery中比CSS还多一种,依次分析:

为了观看更直接,将每个选择器和一个按钮绑定,通过触发点击事件完成对应的操作。

①id选择器

格式为:$("#myId01")。

通过它可以操作对应id的标签。

②类选择器

格式为:$(".divClass")。

通过它可以操作对应类名的标签。

jQuery语法的简洁之处就是在于此:如果是使用js语法,得到的元素为一个数组,所以要使用for循环依次赋值。

事实上jQuery对象本身就是一个js数组,相当于将for循环遍历赋值这个步骤简化了。

我们做一个对比:

③标签选择器

格式为:$("div")。

通过它可以操作对应标签名的标签,其效果和类选择器很相似。

④全选选择器

格式为:$("*")。这是jQuery中多于CSS的。

通过它可以操作所有标签,在数据库中:“*”也代表了查询所有元素的意思。

二、层级选择器

层级选择器一共有4中,逐一说明:

①层级选择器:ancestor descendant

格式为:$("body div"),选择器之间用空格隔开。

ancestor是祖先,descendant是子孙,这个的意思就是选择body标签中的所有div标签。

②层级选择器:parent > child

格式为:$("body>div"),选择器之间用大于号隔开。

parent是父母,child是子女,这个的意思就是body标签中的下一级div标签。祖先是有很多代的,对应多级子标签。

父母只有一代,对应下一级子标签。

③层级选择器:prev+next

格式为:$("#DivId01+div"),选择器之间用加号隔开。

prev:上一个,id选择器,id为DivId01。

next:下一个。所以是id为DivId01的下一个Div标签。

④层级选择器:prev~siblings

格式为:$("#DivId01~div"),选择器之间用~隔开。

prev:上一个,规则同上。

siblings:兄弟姐妹的意思,但是在这里只是弟弟妹妹。

也就是id为DivId01的后面所有Div标签。

值得注意的是:这两种都是同级之间操作的,不涉及到它们的子标签。

三、属性选择器

在标签中是有各种各样的属性的,比如style属性,name属性,value属性,title属性…等等。

可以通过属性查找到对应的标签。

attribute,属性的意思,可简写为attr。因为太多了,就没有选全。

①属性选择器:[attribute]

格式为:$("div[name]"),这里也就是div标签里的name属性。

②属性选择器:[attribute=value]

格式为:$("div[name='twoName']"),这里也就是div标签里的name属性值为“twoName”。

③属性选择器:[attribute!=value]

格式为:$("div[name!='twoName']"),除去name值为twoName以外的所有div标签。

④属性选择器:[attribute^=value]

格式为:$("div[name^='t']"),这里也就是div标签里的name属性值以“t”开头。

⑤属性选择器:[attribute$=value]

格式为:$("div[name$='e']"),这里也就是div标签里的name属性值以“e”结尾。

⑥属性选择器:[attribute*=value]

格式为:$("div[name*='four']"),这里也就是div标签里的name属性值包含‘four’。

⑦属性选择器:[attrSel1][attrSel2][attrSelN]

也就是多个属性选择器相结合。

格式为:$("div[id='oneId'][name*='twoName']"),前面是id为“oneId”的标签,后面是name属性值包含name.。

四、基本过滤选择器

一共太多种了,说几种常见的:

HTML中有很多个div标签,其每个标签对应一个索引,从0索引位开始。

①过滤选择器::first

格式:$("div:first")。也就是指0索引位的div标签。

②过滤选择器::last

格式:$("div:last")。也就是指最后一个索引位的div标签。

③过滤选择器::not

格式:$("div:not(#oneId)")。

#oneId即指id为oneId的标签,前面有一个not就是表示除了该标签外其它的所有标签。

④过滤选择器::even

格式:$("div:even")。也就是指偶数索引位的div标签。

⑤过滤选择器::odd

格式:$("div:odd")。也就是指奇数索引位的div标签。

⑥过滤选择器::gt(索引位)

格式:$("div:gt(2)")。也就是指索引位大于2的div标签。

⑦过滤选择器::lt(索引位)

格式:$("div:lt(2)")。也就是指索引位小于2的div标签。

没有写全,还有::eq(索引位),等于对应索引位的标签。

:header,$(":header")选取文档中所有的标题(也就是h标签)

:animated,$(":animated")选取文档中执行动画的元素。

五、表单对象属性选择器

表单标签,前段时间专门学习过,其基本属性就不赘述了。

学几个表单对象属性,首先看一个页面:

需要达到如下效果:

①可用元素

点击该按钮,能选取可用元素,同时给文本框赋值。

②不可用元素

要求规则同①。

③多选框选中元素

点击该按钮,能选取多选框中已经被选中的元素,同时将选中的值在控制台上打印。

④下拉框选中元素

点击该按钮,能选取下拉框中已经被选中的元素,同时将选中的值在控制台上打印。

如何达到这些要求?就需要对应的选择器了:

①表单对象属性选择器:可用元素

格式:$("input:enabled")。即选中所有可用的input标签。

②表单对象属性选择器:不可用元素

格式:$("input:disabled")。即选中所有不可用的input标签。

其中上述两种选择器中:

使用val方法可以给对应元素赋值。

例子都是文本框,其实按钮也是可以的。

③表单对象属性选择器:选中元素

格式:$("input:checked")。即匹配所有被选中的元素 。

例子中是多选框,其实单选框,下拉框也都可以使用该选择器。使用each()方法可以遍历多个元素。

使用attr("属性名")也可以获取对应属性值。

④表单对象属性选择器:下拉框选中元素

格式:$("select option:selected")。即匹配所有被选中的元素 。

例子中是多选框,其实单选框,下拉框也都可以使用该选择器。使用each()方法可以遍历多个元素。

使用attr("属性名")也可以获取对应属性值。

六、总结

选择器之间是可以叠加使用的。比如层级选择器中可以包含基本选择器。

jQuery中的选择器实在是太多了,通过网络查询到jQuery对应里的选择器:

遇到不会的就可以查看下文档,讲解也很详细,还有案例分析。

最后

谢谢你的观看。

如果可以的话,麻烦帮忙点个赞,谢谢你。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/428557.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python的单例模式

单例模式(Singleton Pattern),是一种软件设计模式,是类只能实例化一个对象, 目的是便于外界的访问,节约系统资源,如果希望系统中 只有一个对象可以访问,就用单例模式, 显然单例模式的要点有三个…

c语言自定义输出小数点位数_C语言中输出时怎样控制小数点后的位数,请举例说明......

控制2113小数位数就是通过输出格式说明符来规定的举例5261说明如下4102:1、float f13.1415926;2、float f21234.1415926;3、float f3124.1;4、printf("%3.4f",f1);//输出结果为:_ _ 3.1416(_表示空格1653)5、printf("%3.4f",f2);//输…

语言求圆周率近似值改错_新证明解决了如何求无理数的近似值

原文:Kevin Hartnett,QuantaMagazine日前,一份新鲜出炉的论文证明了近80年悬而未决的达芬-谢弗(Duffin-Schaeffer)猜想,让数轴上讳莫如深的部分再也不如表面看来那么遥不可及。达芬-谢弗猜想的证明完美解答…

python在不同层级目录import模块的方法

转自:https://www.cnblogs.com/luoye00/p/5223543.html 使用python进行程序编写时,经常会使用第三方模块包。这种包我们可以通过python setup install 进行安装后,通过import XXX或from XXX import yyy 进行导入。不过如果是自己遍写的依赖包…

谷歌翻译无法连接网络_window10无法连接网络

很多朋友都将电脑的系统升级到Win10,如果遇到了Win10系统无法连接网络该如何解决,下面就为大家介绍一下解决的方法。window10无法连接网络一、检查路由器1、重新启动(断电10秒钟) 无线路由器和猫(调制解调器),有时候是路由器的故障&#xff1…

php: +1天, +3个月, strtotime(): +1 day, +3 month

php: 1天, 3个月, strtotime(): 1 day, 3 month 比如,我现在当前时间基础上1天: strtotime("1 day"); 比如我现在,2014-05-01时间上 3个月 $s strtotime("2014-05-01"); $d strtotime("3 month", $s); 转载…

获取弹出的窗口_Win7系统如何获取设置everyone权限的问题

一位win7之家系统的小伙伴,想要在电脑系统中获取everyone权限,但是不知道该怎么做,对于Win7电脑如何获取设置everyone权限这个问题,小编觉得我们可以在电脑的计算机中找到相关的磁盘,打开磁盘属性然后在安全选项中进行…

异步请求中jetty处理ServletRequestListener的坑

标题起得比较诡异,其实并不是坑,而是jetty似乎压根就没做对异步request的ServletRequestListener的特殊处理,如果文中有错误欢迎提出,可能自己有所疏漏了。 之前遇到了一个bug,在Listener中重写requestDestroyed清理资…

Maven国内镜像 Maven阿里云镜像

<mirror><id>nexus-aliyun</id><mirrorOf>central</mirrorOf><name>Nexus aliyun</name><url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror> 转载于:https://www.cnblogs.com/a2b1/p/787…

华为h22h05服务器做raid_华为V5服务器 RAID控制卡(LSI SAS3008IR)

提供高速接口和模块LSI SAS3008IR的PCIe Core提供PCIe x8接口&#xff0c;每lane速率为8Gb/s&#xff0c;可以兼容x1、x2、x4配置&#xff1b;支持PCIe 3.0规格&#xff0c;兼容PCIe 2.x和PCIe 1.x。LSI SAS3008IR的SAS模块提供SAS功能&#xff0c;并定义支持的硬盘速率。LSI S…

通过tomcat日志定位错误

1、tomcat的安装路径下tomcat home下的common文件夹下的classes文件夹中创建log4j.properties文件&#xff0c;即 apache-tomcat-5.5.20\common\classes log4j.rootLoggerinfo,Console,Rlog4j.appender.Consoleorg.apache.log4j.ConsoleAppenderlog4j.appender.Console.layouto…

css加了固定定位就不显示内容_前端开发必备,学好”定位“向菜鸟说拜拜

众所周知&#xff0c;前端CSS中&#xff0c;盒模型、浮动、定位为必须掌握的三座大山。今天就来聊聊定位的那些事。定位是什么&#xff1f;先来看看哪些场景用到定位&#xff0c;如下图所示&#xff0c;凡是有盒子压住另一个盒子的地方都可定位&#xff0c;因为用浮动做不了&am…

vscode更换主题的插件_VScode 插件开发(三)主题

咱们上回书说道&#xff0c;安装完基础环境&#xff0c;我们要来玩自己的主题了1. 创建一个主题项目$ yo code选中 New Color Theme接下来照图中所选&#xff0c;完成项目创建(简单英语不做解释)打开项目如图2. 配置文件2.1 themes这个文件夹包含主题配置文件&#xff0c;可以新…

sql之引擎介绍

数据库引擎介绍MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的。要添加一个新的引擎&#xff0c;就必须重新编译MYSQL。在缺省情况下&#xff0c;MYSQL支持三个引擎&#xff1a;ISAM、MYISAM和HEAP。另外两种类型INNODB和BERKLEY&#xff08;BDB&#xff09;&#xff0…

jquery查找ul属性不是hide,jQuery的ul显示/隐藏功能

Im trying to hide my divs which will have content in them when finished. I have a jsFiddle file and some of the coding is not complete, just wrote it very fast to give you an idea.I believe that the ul is making it not be created correctly.解决方案The html…

HttpContext

相关知识点&#xff1a;ttp://www.cnblogs.com/wujy/p/3264475.htmlHttpContext context HttpContext.Current; if( context ! null ) {// 在这里访问与请求有关的东西。 } 记录当前用户信息的线程当前线程是指与【当前请求】相关的线程。在ASP.NET中&#xff0c;有些线程并非…

mysql if 多个_MySQL使用IF语句CONCAT多个字段

语法不正确.你想使用CASE&#xff1a;SET loc_name Location;SET add_street Add Street;SET add_number 10;SET x_street_1 Street 1;SET x_street_2 Street 2;SET city City;SET state State;SET country Country;SELECT Concat(loc_name, \n, CASEWHEN add_number !…

IOS+Android马甲包封装上架!

目的 我们有自己的一个主网站平台&#xff0c;为了推广我们的主网站平台&#xff0c;我们需要长期制作大量马甲app&#xff0c;然后引导用户到我们的主网站游戏&#xff0c;所以&#xff0c;你制作的app的功能只给审核人员看到&#xff0c;只是为了应付审核&#xff0c;app上架…

软件工程概论课后作业01

1. 网站系统开发需要掌握的技术 ①java语言 Java语言体系比较庞大&#xff0c;包括多个模块。从WEB项目应用角度讲有JSP&#xff0c;Servlet&#xff0c;JDBC&#xff0c;JavaBean&#xff08;Application&#xff09;四部分技术。JDBC可做三件事情&#xff1a;与数据库建立连接…

mysql low_case_MySQL8.0的坑之lower_case_table_names

在安装了8.0.14之后&#xff0c;初始化的时候在my.cnf里设置了lower_case_table_names1&#xff0c;安装好了之后&#xff0c;启动报错&#xff1a;2019-01-28T13:24:24.91946308:00 0 [System] [MY-010116] [Server] /usr/local/mysql/bin/mysqld (mysqld 8.0.14) starting as…