jquery选择器有哪些:分类与实操用法

jquery选择器有哪些,主要分为基础选择器、层级选择器、过滤选择器、表单选择器四大类,你可以直接按DOM结构、元素属性、表单状态筛选页面元素,基础选择器适配静态页面快速选取,层级选择器用于父子、后代等关联元素定位,过滤选择器在已有选中集合里二次筛选,表单选择器专门匹配input、select等表单控件;该体系的适用边界是页面DOM完成加载后执行,动态新增的元素无法直接被普通选择器捕获,需要搭配事件委托实现。

jquery选择器基础类型

基础选择器是使用频率较高的一类,包含元素选择器、id选择器、类选择器、属性选择器、通配选择器。元素选择器直接写标签名,$("div")选取页面全部div标签;id选择器使用前缀,$("#box")匹配id为box的元素;类选择器使用.前缀,$(".item")获取class为item的元素;属性选择器依靠元素属性匹配,$("[type='text']")选中type等于text的元素;通配选择器$("*")会选中页面所有元素,大型页面中尽量少用,会带来额外性能开销。

层级选择器依靠元素之间的嵌套关系查找目标。后代选择器用空格隔开,$("ulli")选取ul内部所有li;子元素选择器用大于号,$("ul>li")只匹配ul直接子级li,不会获取深层嵌套的li;相邻兄弟选择器用加号,$(".title+p")匹配紧跟在title后面的第一个p标签;通用兄弟选择器用波浪号,$(".title~p")获取title之后所有同级p标签。

jquery选择器过滤类型

过滤选择器不会从头查找DOM,而是在已经选中的元素集合中筛选,以冒号开头。基础过滤包含:first获取集合第一个元素,:last获取最后一个元素,:eq(index)按索引定位,索引从0开始,$("li:eq(2)")选中第三个li。内容过滤依靠标签内部文本,:contains(文字)匹配包含指定文本的元素,:empty选中内部无内容的空标签。可见性过滤依靠元素显示状态,:visible匹配可见元素,:hidden获取display:none或者隐藏的元素。

位置过滤选择器适合列表批量处理。

表单过滤选择器专门针对表单控件,同样属于过滤选择器分支。

  • :input匹配所有表单控件,包含input、textarea、select、button
  • :text匹配单行文本输入框
  • :checked匹配选中的单选框、复选框
  • :selected匹配下拉框选中项
  • :disabled匹配禁用状态的表单元素
选择器类别查找逻辑适用场景性能参考
基础选择器直接匹配标签、id、class页面静态元素快速获取较好
层级选择器依靠DOM嵌套关系定位获取关联父子、兄弟元素中等
过滤选择器在结果集内二次筛选对已选取元素做条件过滤一般
表单选择器识别表单控件状态表单校验、取值操作中等

id选择器在浏览器原生DOM接口中查找速度更快,你写代码时优先使用id缩小查找范围,再搭配其他选择器,减少jQuery遍历DOM的开销。如果你直接使用$(".list:eq(0)"),会先查找全部list元素再筛选索引,元素数量庞大时页面响应会变慢。

动态渲染生成的元素,普通jquery选择器无法直接选中,这类元素是页面加载完成后通过js新增到DOM树,选择器执行时目标元素还不存在,查询返回空集合。

jquery选择器支持多条件组合,你可以叠加多个条件缩小范围,$("div.item:visible")会选取class为item且处于可见状态的div元素,组合写法可以减少后续js判断代码。

敬慕百科汇集百科知识与游戏文化,带你发现世界的每一个精彩角落。

想要了解更多关于jquery选择器有哪些的文章欢迎访问:百科