- 浏览: 15756 次
-
最新评论
jQuery中选择器的通用语法如下:
$(selector) 或者:jQuery(selector)
1.$("#id") id选择器,相当于javascript中的 document.getElementById("id")
2.$(".someClass") 类别选择器,选择CSS类别为"someClass"的所有节点元素
3.$("p:odd") 选择所有位于奇数行的<p>标记,从0开始计数
4.$("p:nth-child(odd)") 选择所有位于奇数行的<p>标记,从1开始计数
5.$("li > a") 子选择器,返回<li>标记的所有子元素<a>,不包括孙标记
6.$("a[href$=pdf]") 选择所有的超链接,并且这些超链接是以"pdf"结尾的。
jQuery中的ready() 方法很好的解决了window.onload函数的需要页面加载之后才能使用,和频繁被使用页面冲突的问题。它能够自动将其中的函数在页面加载完成后运行,并且同一个页面中可以使用多个ready()方法,而且不相互冲突。
$(document).ready(function(){
$("table.datalist tr:nth-child(odd)").addClass("altrow");
});
也可以简写为以下形式:
$(function(){
$("table.datalist tr:nth-child(odd)").addClass("altrow");
});
一、属性选择器
属性选择器的语法是在标记的后面用中括号[]添加相关的属性。
$("a[title]") ,选择设置了title属性的标记。
$("a[href='a.html']"),href属性值等于a.html的超链接
$("a[href^=http://]"),属性值以htt://开头的
$("a[href$=html]"),属性值以html结尾的超链接
$("a[href*=html]"),属性值包含html的超链接
$("li:has(a)"),包含了超链接的所有<li>标记
二、包含选择器
选 择 器 | 说 明 |
* | 所有标记 |
E | 所有名称为E的标记 |
EF | 所有名称为F的标记,并且是E标记的子标记(包括孙、重孙等) |
E>F | 所有名称为F的标记,并且是E标记的子标记(不包括孙标记) |
E+F | 所有名称为F的标记,并且该标记紧接着前面的E标记 |
E~F | 所有名称为F的标记,并且该标记前面有一个E标记 |
E:has(F) | 所有名称为E的标记,并且该标记包含F标记 |
E.C | 所有名称为E的标记,属性类别为C,如果去掉E,就是属性选择器.C |
E#I | 所有名称为E的标记,id为I,如果去掉E,就是id选择器#I |
E[A] | 所有名称为E的标记,并且设置了属性A |
E[A=V] | 所有名称为E的标记,并且属性A的值等于V |
E[A^=V] | 所有名称为E的标记,并且属性A的值以V开头 |
E[A$=V] | 所有名称为E的标记,并且属性A的值以V结尾 |
E[A*=V] | 所有名称为E的标记,并且属性A的值中包含V |
三、位置选择器
选 择 器 | 说 明 |
:first | 第1个元素,例如div p:first选中页面中所有p元素的第1个,且该p元素是div的子元素 |
:last | 最后一个元素,例如div p:last选中页面中所有p元素的最后一个,且该p元素中div的子元素 |
:first-child | 第一个子元素,例如ul:first-child选中所有ul元素,且该ul元素是其父元素的第一个子元素 |
:last-child | 最后一个子元素,例如ul:last-child选中所有ul元素,且该ul元素是其父元素的最后一个子元素 |
:only-child | 所有没有兄弟的元素,例如p:only-child选中所有p元素,如果该p元素是其父元素的惟一子元素 |
:nth-child(n) | 第n个子元素,例如li:nth-child(2)选中所有li元素,且该li元素是其父元素的第2个子元素(从1开始计数) |
:nth-child(odd|even) | 所有奇数号或者偶数号子元素,例如li:nth-child(odd)选中所有li元素,且这些li元素为其父元素的第奇数个元素(从1开始计数) |
:nth-child(nX+Y) | 利用公式来计算子元素的位置,例如li:nth-child(5n+1)选中所有li元素,且这些li元素为其父元素的第5n+1个元素(1,6,11,16……) |
:odd或者even | 对于整个页面而言的奇数号或偶数号元素,例如p:even为页面中所有排在偶数的p元素(从0开始计数) |
:eq(n) | 页面中第n个元素,例如p:eq(4)为页面中的第5个元素 |
:gt(n) |
页面中第n个元素之后的所有元素(不包括第n个本身),例如 p:gt(0)为页面中第1个p元素之后的所有p元素 |
:lt(n) | 页面中的第n个元素之前的所有元素(不包括第n个元素本身),例如p:lt(2)为页面中第3个p元素之前的所有p元素 |
四、过滤选择器
:animated | 所有处于动画中的元素 |
:button | 所有按钮,包括input[type=button]、input[type=submit]、input[type=reset]、<button>标记 |
:checkbox | 所有复选框,等同于input[type=checkbox] |
:contains(foo) | 选择所有包含了文本"foo"的元素 |
:disabled | 页面中被禁用了的元素 |
:enabled | 页面中没有被禁用的元素 |
:file | 上传文件的元素,等同于input[type=file] |
:header | 选中所有标题元素,例如<h1>~<h6> |
:hidden | 页面中被隐藏的元素 |
:image | 图片提交按钮,等同于input[type=image] |
:input | 表单元素,包括<input>、<select>、<textarea>、<button> |
:not(filter) | 反向选择 |
:parent | 选择所有拥有子元素(包括文本)的元素,空元素将被排除 |
:password | 密码文本框,等同于input[type=password] |
:radio | 单选按钮,等同于input[type=radio] |
:reset | 重置按钮,包括input[type=reset]和button[type=reset] |
:selected | 下拉菜单中被选中的项 |
:submit | 提交按钮,包括input[type=submit]和button[type=submit] |
:text | 文本输入框,等同于input[type=text] |
:visible | 页面中的所有可见元素 |
以下为这些基础选择器的代码实例(测试环境IE9)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>反向过滤</title> <style type="text/css"> <!-- form{ font-size:12px; margin:0px; padding:0px; } input.btn{ border:1px solid #005079; color:#005079; font-family:Arial, Helvetica, sans-serif; font-size:12px; } p{ padding:5px; margin:0px; } .myClass{ background-color:#ffbff4; text-decoration:underline; border:1px solid #0000FF; font-family:Arial, Helvetica, sans-serif; font-size:12px; } .myClassPro{ /* 设定某个CSS类别 */ background-color:#d0baba; color:#5f0000; text-decoration:underline; } .myClassLocal{ /* 设定某个CSS类别 */ background-color:#c0ebff; text-decoration:underline; } --> </style> <script language="javascript" src="jquery.min.js"></script> <script language="javascript"> //1.基本选择器 function base(){ var oElements = $("h2 a"); for(var i = 0; i < oElements.length; i++){ oElements[i].innerHTML = i.toString(); } } //2.功能函数前缀 function fun(){ var str = " 1234567890"; str = $.trim(str); alert(str.length); } //3.创建DOM元素 function creatDOM(){ var strHtml = $("<p>啊~~~~~~~~~</p>"); strHtml.insertAfter("#aaa"); } //4.自定义添加“$” $.fn.disable = function(){ //扩展jQuery,表单元素统一disable return this.each(function(){ if(typeof this.disabled != "undefined") this.disabled = true; }); } $.fn.enable = function(){ //扩展jQuery,表单元素统一 enable return this.each(function(){ if(typeof this.disabled != "undefined") this.disabled = false; }); } function swapInput(name,button){ if(button.value == "Disable"){ //如果按钮值为Disable,则调用disable()方法 $("input[name="+name+"]").disable(); button.value = "Enable"; }else{ //如果按钮值为Enable,则调用disable()方法 $("input[name="+name+"]").disable(); button.value = "Disable"; } } //5.属性选择器 function property(){ $("input[type]").addClass("myClassPro"); } //6.包含选择器 function containProperty(){ $("ul li ul li:has(a)").addClass("myClassPro"); } //7.位置选择器 function local(){ $("p:even").addClass("myClassLocal");//从0计数 //$("p:nth-child").addClass("myClassPro");//从1计数 } //8.过滤选择器 function pass(oCheckBox){ //使用:checked过滤出被用户选中的 $("input[name="+oCheckBox+"]:checked").addClass("myClass"); } //9.反向过滤的迭代使用选择器 function notFilter(){ $(":input:not(:checkbox):not(:radio)").addClass("myClass"); } </script> </head> <body> <form method="post" name="myForm1" action="addInfo.aspx"> <h2><a href="#" >正文</a>内容</h2> <h2>正文<a href="#">内容</a></h2> <br><input type="button" value="1.基本选择器" onclick="base()" class="btn"> <br> <br><input type="button" value="2.功能函数前缀" onclick="fun()" class="btn"> <br> <br><input type="button" value="3.创建DOM元素" onclick="creatDOM()" class="btn"> <br> <br><input type="button" value="5.属性选择器" onclick="property()" class="btn"> <br> <br><input type="button" value="6.包含选择器" onclick="containProperty()" class="btn"> <br> <br><input type="button" value="7.位置选择器" onclick="local()" class="btn"> <ul> <li><a href="http://picasaweb.google.com/isaacshun">isaac photo</a> <ul> <li>10-6.html</li> <li><a href="10-7.html" id="aaa">10-7.html</a></li> <li><a href="10-8.html" title="圆角矩形">10-8.html</a></li> <li><a href="10-9.html">10-9.html</a></li> <li><a href="Pageisaac.html" title="制作中...">isaac</a></li> </ul> </li> </ul> <p id="aaa"><label for="name">姓名:</label> <input type="text" name="name" id="name"></p> <p><label for="passwd">密码:</label> <input type="password" name="passwd" id="passwd"></p> <p><label for="color">最喜欢的颜色:</label> <select name="color" id="color"> <option value="red">红</option> <option value="green">绿</option> <option value="blue">蓝</option> <option value="yellow">黄</option> <option value="cyan">青</option> <option value="purple">紫</option> </select></p> <p>性别: <input type="radio" name="sex" id="male" value="male"><label for="male">男</label> <input type="radio" name="sex" id="female" value="female"><label for="female">女</label></p> <p>你喜欢做些什么:<br> <input type="button" name="btnSwap" id="btnSwap" value="Disable" class="btn" onclick="swapInput('hobby',this)"><br> <input type="checkbox" name="hobby" id="book" value="book"><label for="book">看书</label> <input type="checkbox" name="hobby" id="net" value="net"><label for="net">上网</label> <input type="checkbox" name="hobby" id="sleep" value="sleep"><label for="sleep">睡觉</label></p> <br> <br><input type="button" value="8.过滤选择器" onclick="pass('hobby')" class="btn"> <p><label for="comments">我要留言:</label><br><textarea name="comments" id="comments" cols="30" rows="4"></textarea></p> <p><input type="submit" name="btnSubmit" id="btnSubmit" value="Submit"> <input type="reset" name="btnReset" id="btnReset" value="Reset"></p> <br><input type="button" value="9.反向过滤的迭代使用选择器" onclick="notFilter()" class="btn"> </form> </body> </html>
五.jquery链
filter()筛选元素可以接受两种元素,一是接受通用方法,二是接受返回值为布尔值的函数。在filter()的参数中,不能使用直接的等于匹配(=),只能使用前匹配(^=)、后匹配(&=)、任意匹配(*=)。
在jQuery链中,后面的操作都是以前面的操作结果为对象的。如果希望操作对象为上一步的对象,则可以使用end()方法。
通过andSelf()将前面两个对象进行组合后共同处理。
以下为实例(IE9)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>filter()方法</title> <style type="text/css"> <!-- div{ margin:5px; padding:5px; height:40px; width:40px; float:left; } .myClass1{ background:#fcff9f; } .myClass2{ border:2px solid #000000; } .myClass3{ background:#ffde00; } .myClass4{ border:1px solid #0000FF; } .myBackground{ background:#ffde00; } .myBorder{ border:2px solid #0000FF; } --> </style> <script language="javascript" src="jquery.min.js"></script> <script language="javascript"> //1.通用表达式 function common(){ $("div").addClass("myClass1").filter("[class*=middle]").addClass("myClass2"); } //2.函数方法,函数必须返回布尔值 function functionparm(){ $("div").addClass("myClass1").filter(function(index){ return index == 0 || $(this).attr("id") == "fifth"; }).addClass("myClass2"); } //3.find function findFunction(){ $("p").find("span").addClass("myClass3"); } //4.jquery链,上一步操作对象end() function end(){ $("p").find("span").addClass("myClass3").end().addClass("myClass4"); } //5.andSelf(),将两个对象进行组合后共同处理 function andSelf(){ $("#aaa").find("p").addClass("myBackground").andSelf().addClass("myBorder"); } </script> </head> <body> <div id="first"></div> <div class="middle" id="second"></div> <div class="middle" id="third"></div> <div class="middle" id="fourth"></div> <div class="middle" id="fifth"></div> <div id="six"></div> <br><br><br><br><br><br><br> <table> <tr> <td> <input type="button" value="1.通用表达式" onclick="common();"> <input type="button" value="2.函数方法" onclick="functionparm();"> <input type="button" value="3.find" onclick="findFunction();"> <input type="button" value="4.end" onclick="end();"> <input type="button" value="5.andSelf" onclick="andSelf();"> </td> </tr> </table> <p><span>Hello</span>, how are you?</p> <span>very nice,</span> thank you. <div id="aaa"> <p>第一段</p> <p>第二段</p> </div> </body> </body> </html>
相关推荐
《永磁无刷直流电机控制系统与软件综合研究——集成电机计算软件、电机控制器及电磁设计软件的创新设计与实践》,永磁无刷直流电机计算与控制软件:高效电机控制器与电磁设计工具,永磁无刷直流电机计算软件,电机控制器,无刷电机设计软件,电机电磁设计软件 ,永磁无刷直流电机计算软件; 电机控制器; 无刷电机设计软件; 电机电磁设计软件,无刷电机设计专家:永磁无刷直流电机计算与控制器设计软件
新能源汽车VCU开发模型及策略详解:从控制策略到软件设计全面解析,新能源汽车VCU开发模型及策略详解:从控制策略到软件设计全面解析,新能源汽车VCU开发模型及控制策略,MBD电控开发 新能源汽车大势所向,紧缺VCU电控开发工程师,特别是涉及新能源三电系统,工资仅仅低于无人驾驶、智能驾驶岗位。 ——含控制策略模型 整车控制策略详细文档 通讯协议文档 接口定义 软件设计说明文档 等(超详细,看懂VCU电控策略开发就通了) 内容如下: 新能源汽车整车控制器VCU学习模型,适用于初学者。 1、模型包含高压上下电,行驶模式管理,能量回馈,充电模式管理,附件管理,远程控制,诊断辅助功能。 2、软件说明书(控制策略说明书) 3、模型有部分中文注释 对想着手或刚开始学习整车控制器自动代码生成或刚接触整车控制器有很大帮助。 ,新能源汽车VCU开发模型; 控制策略; MBD电控开发; 模型学习; 代码生成; 整车控制器; 能量回馈; 诊断辅助功能,新能源汽车电控开发详解:VCU控制策略模型及学习手册
内容概要:本文详细介绍了两种利用 Python 读取 Excel 文件的不同方法,分别是基于 pandas 和 openpyxl。对于想要利用Python 处理 Excel 数据的读者来说,文中不仅提供了简洁明了的具体代码片段以及执行效果展示,还针对每个库的应用特性进行了深度解析。此外,文档提到了一些进阶应用技巧如只读特定的工作薄、过滤某些列等,同时强调了需要注意的地方(像是路径设置、engine 参数调整之类),让读者可以在面对实际项目需求时做出更加明智的选择和技术选型。 适合人群:对 Python 有基本掌握并希望提升数据读取能力的开发人员。 使用场景及目标:适用于任何涉及到批量数据导入或是与 Excel 进行交互的业务流程。无论是做初步的数据探索还是深入挖掘隐藏于电子表格背后的故事,亦或是仅为了简化日常办公自动化任务都可以从中受益。最终目标帮助使用者熟悉两大主流 Excel 解决方案的技术特性和最佳实践。 阅读建议:本文既是一份详尽的学习指南也是一份方便随时查阅的手册。因此初学者应当认真研究所提供的示例,而有一定经验者也可以快速定位到感兴趣的部分查看关键要点。
# 医护人员排班系统 ## 1. 项目介绍 本系统是一个基于SpringBoot框架开发的医护人员排班管理系统,用于医院管理医护人员的排班、调班等工作。系统提供了完整的排班管理功能,包括科室管理、人员管理、排班规则配置、自动排班等功能。 ## 2. 系统功能模块 ### 2.1 基础信息管理 - 科室信息管理:维护医院各科室基本信息 - 医护人员管理:管理医生、护士等医护人员信息 - 排班类型管理:配置不同的排班类型(如:早班、中班、晚班等) ### 2.2 排班管理 - 排班规则配置:设置各科室排班规则 - 自动排班:根据规则自动生成排班计划 - 排班调整:手动调整排班计划 - 排班查询:查看各科室排班情况 ### 2.3 系统管理 - 用户管理:管理系统用户 - 角色权限:配置不同角色的操作权限 - 系统设置:管理系统基础配置 ## 3. 技术架构 ### 3.1 开发环境 - JDK 1.8 - Maven 3.6 - MySQL 5.7 - SpringBoot 2.2.2 ### 3.2 技术栈 - 后端框架:SpringBoot - 持久层:MyBatis-Plus - 数据库:MySQL - 前端框架:Vue.js - 权限管理:Spring Security ## 4. 数据库设计 主要数据表: - 科室信息表(keshixinxi) - 医护人员表(yihurengyuan) - 排班类型表(paibanleixing) - 排班信息表(paibanxinxi) - 用户表(user) ## 5. 部署说明 ### 5.1 环境要求 - JDK 1.8+ - MySQL 5.7+ - Maven 3.6+ ### 5.2 部署步骤 1. 创建数据库并导入SQL脚本 2. 修改application.yml中的数据库配置 3. 执行maven打包命令:mvn clean package 4. 运行jar包:java -jar xxx.jar ## 6. 使用说明 ### 6.1 系统登录 - 管理员账号:admin - 初始密码:admin ### 6.2 基本操作流程 1. 维护基础信息(科室、人员等) 2. 配置排班规则 3. 生成排班计划 4. 查看和调整排班 ## 7. 注意事项 1. 首次使用请及时修改管理员密码 2. 定期备份数据库 3. 建议定期检查和优化排班规则
MATLAB仿真的夫琅禾费衍射强度图:圆孔、圆环、矩形孔定制研究,MATLAB仿真:夫琅禾费衍射强度图的可定制性——以圆孔、圆环及矩形孔为例的研究分析,MATLAB夫琅禾费衍射强度图仿真 圆孔,圆环,矩形孔可定制。 ,MATLAB; 夫琅禾费衍射; 强度图仿真; 圆孔; 圆环; 矩形孔; 可定制。,MATLAB仿真夫琅禾费衍射强度图:定制孔型(圆孔/圆环/矩形)
详细介绍及样例数据:https://blog.csdn.net/samLi0620/article/details/145652300
基于Dugoff轮胎模型与B08_01基础建模的七自由度车辆动力学模型验证:利用MATLAB 2018及以上版本与CarSim 2020.0软件的仿真对比研究,基于Dugoff轮胎模型与B08_01框架的七自由度车辆动力学模型验证——使用MATLAB 2018及以上版本与CarSim 2020.0软件进行仿真对比研究,七自由度车辆动力学模型验证(Dugoff轮胎模型,B08_01基础上建模) 1.软件: MATLAB 2018以上;CarSim 2020.0 2.介绍: 基于Dugoff轮胎模型和车身动力学公式,搭建7DOF车辆动力学Simulink模型,对相关变量(质心侧偏角,横摆角速度,纵、横向速度及加速度)进行CarSim对比验证。 ,核心关键词:七自由度车辆动力学模型验证; Dugoff轮胎模型; B08_01建模基础; MATLAB 2018以上; CarSim 2020.0; Simulink模型; 变量对比验证。,基于Dugoff轮胎模型的七自由度车辆动力学模型验证与CarSim对比
【毕业设计】基于Java+servlet+jsp+css+js+mysql实现“转赚”二手交易平台_pgj
微猫恋爱聊妹术小程序源码介绍: 微猫恋爱聊妹术小程序源码是一款全新升级的聊天工具,它采用全新主题和UI,完美支持分享朋友圈功能。同时,它的独立后台也进行了大规模更新,让操作更加简单。其中,课堂页面、搜索页面和子话术列表页面等,均增加了流量主展示,具有超多的功能。 安装教程: 您可以先加入微猫恋爱聊妹术小程序源码的赞助群,然后在群内找到魔方安装说明。根据源码编号找到相应的安装说明,非常详细,让您轻松完成安装。
电气安装工程安全技术规程_蒋凯,杨华甫,马仲范,王清禄译;孙照森校;鞍钢工程技术编委会编
基于Copula函数的风光空间相关性联合场景生成与K-means聚类削减MATLAB研究,基于Copula函数的风光空间相关性联合场景生成与K-means聚类削减算法研究,基于copula的风光联合场景生成?K-means聚类并削减 MATLAB 由于目前大多数研究的是不计风光出力之间的相关性影响,但是地理位置相近的风电机组和光伏机组具有极大的相关性。 因此,采用 Copula 函数作为风电、光伏联合概率分布,生成风、光考虑空间相关性联合出力场景,在此基础上,基于Kmeans算法,分别对风光场景进行聚类,从而实现大规模场景的削减,削减到5个场景,最后得出每个场景的概率与每个对应场景相乘求和得到不确定性出力 ,基于Copula的风光联合场景生成; K-means聚类削减; 空间相关性; 概率分布; 场景削减,基于Copula与K-means的风光联合场景生成与削减研究
模块化多电平变流器MMC的VSG控制技术研究:基于MATLAB-Simulink的仿真分析与定制实现——支持三相与任意电平数,构网型模块化多电平变流器MMC的VSG控制策略与仿真模型:三相负荷变动下的虚拟同步发电机控制研究,构网型 模块化多电平变流器 MMC 的VSG控制 同步发电机控制 MATLAB–Simulink仿真模型,可按需求定制 10电平.14电平,任意电平可做。 三相MMC,采用VSG控制。 设置负荷变动,调整有功无功,保持电网电压和频率 ,构网型模块化多电平变流器; MMC的VSG控制; 虚拟同步发电机控制; MATLAB–Simulink仿真模型; 任意电平可做; 三相MMC; 负荷变动; 有功无功调整; 电网电压和频率保持。,基于VSG控制的模块化多电平变流器(MMC)的构网型仿真模型
暗通道算法DCP-Python实现
南师大实验室安全准入知识供学习
纯openMV寻迹小车.zip
【毕业设计】基于Java mvc架构开发的完整购物网站
以下是针对初学者的 **51单片机入门教程**,内容涵盖基础概念、开发环境搭建、编程实践及常见应用示例,帮助你快速上手。
springboot医院信管系统--
springboot私人健身与教练预约管理系统--
yolov8-0的资源