详解JQuery框架的五大选择器

此账号为华为云开发者社区官方运营账号,提供全面深入的云计算前景分析、丰富的技术干货、程序样例,分享华为云前沿资讯动态

本文分享自华为云社区《 【JQuery框架】五大选择器“全家桶”详解!!!》,原文作者:灰小猿 。

今天来和大家分享一下JQuery的五种选择器的详细使用方法,那么何为选择器?从功能上来讲,它能够筛选具有相似特征的元素标签,在我们想要对具有相似特征的元素进行集中或统一操作时是十分有用的。

首先我们需要了解选择器使用的基本操作,该基本操作可以分为三步:

选择器的使用需要进行事件的绑定,一般来说我们可以将事件绑定到一个按钮上去,通过按钮的点击来触发相应的事件响应。

同时在jQuery中,这样的事件绑定是需要写在一个入口函数中去的,在<script></script>的代码段中建立入口函数的语法是:

在这里需要注意的是:在js中定义入口函数的window.onload方法和$(function)方法是有区别的,

具体如下:

window.onload只能定义一次,如果定义多次,后面的会将前面的覆盖掉

$(function)方法是可以定义多次的,后面的不会将前面的覆盖掉

当我们对选择器的事件进行了绑定之后,我们就可以通过选择器进行相应元素的样式控制了,在这里通常的表现是css方法,通过css方法来对相应的元素样式进行修改。

来看一个基本操作的实例:

那么接下来就通过实例分别来和大家讲一下jQuery框架下的五种选择器的使用方法。

标签选择器又称为“元素选择器”,

语法:$(“html标签名”)

作用:获得所有匹配标签元素名称的元素

语法:$(“#id的属性值”)

作用:获得与指定id属性值匹配的元素

语法:$(“.class的属性选择器”)

作用:获得与指定class属性值匹配的元素

语法:$(“选择器1,选择器2….”)

获取多个选择器选中的所有元素

语法:$(“A B”)

作用:选择A元素内部的所有B元素

语法:$(“A > B”)

作用:选择A元素内部的所有B子元素

在这里需要注意的是:这两个选择器看上去似乎没有什么区别,但是我们在使用时就会发现其实是有区别的,后代选择器会将元素A内部的所有B元素都选中,而子选择器只会选中元素A的下一级元素中的B元素,范围是小于后代选择器的。具体可以看下面的实例:

语法:$(“A[属性名]”)

作用:包含指定属性的选择器

语法:$(“A[属性名=’值’]”)

作用:包含指定属性等于指定值的选择器,

在这个选择器中,我们可以根据他的功能进行拓展,比如我们可以将:

“=”换成“!=”,就是指定属性名称不等于指定值的选择器

“=”换成“^=”,就是指定属性名称是以指定值开头的选择器

“=”换成“$=”,就是指定属性名称是以指定值结尾的选择器

“=”换成“*=”,就是指定属性名称中包含指定值的选择器

语法:$(“A[属性名=’值’][]…”)

作用:包含多个属性条件的选择器

语法:$(“A:first”)

作用:获得选择的元素的第一个元素

语法:$(“A:last”)

作用:获得选择的元素的最后一个元素

语法:$(“not(selector)”)

作用:不包括指定内容的元素

语法:$(“A:even”)

作用:从0开始计数,获得选择的元素中索引为偶数的元素

语法:$(“A:odd”)

作用:从0开始计数,获得选择的元素中索引为奇数的元素

语法:$(“A:eq(index)”)

作用:获得选择的元素中指定索引的元素

语法:$(“A:gt(index)”)

作用:获得选择的元素中大于指定索引的元素

语法:$(“A:lt(index)”)

作用:获得选择的元素中小于指定索引的元素

语法:$(“:header”)

作用:获得标题(h1~h6)元素,为固定写法

语法:$(“A:enabled”)

作用:获得选择元素中的可用元素

语法:$(“A:disabled”)

作用:获得选择元素中的不可用元素

语法:$(“A:checked”)

作用:获得单选/复选框选中的元素

语法:$(“A:selected”)

作用:获得下拉框选中的元素

在这里需要注意一点:上面的两个选中选择器的作用对象是不一样的,第一个选中选择器的作用对象是单选/复选框,而第二个选中选择器的作用对象是下拉框,同时对于第二种选择器,它的作用内容是下拉框中的包含在<option></option>内的选项,因此在使用时应当使用“>”来具体说明,具体可以看下面的实例:

jquery 选择器用法大全附实例代码

学习jquery必不可少的一项技能就是需要学会使用jquery查找和操作html元素,这就是jquery选择器,小叶总结了下面一篇文章在我们开发中常用的jquery选择器的方法,欢迎收藏。

以下是一些常用的 jQuery 选择器及其实例代码:

  • $(\”element\”): 选择所有指定的元素。
  • $(\”#id\”): 选择具有指定 ID 的元素。
  • $(\”.class\”): 选择具有指定类的所有元素。
  • $(\”[attribute]\”): 选择具有指定属性的所有元素。
  • $(\”[attribute=value]\”): 选择具有指定属性值的元素。
  • $(selector1, selector2): 在第二个选择器中查找第一个选择器。
  • $(ancestor descendant): 选择祖先元素下的所有后代元素。
  • $(prev + next): 选择紧接在 prev 元素后的 next 元素。
  • $(prev ~ siblings): 选择 prev 元素之后的所有 siblings 元素。
  • $(parent > child): 选择父元素下的所有子元素。
  • $(\”:input\”): 选择所有表单输入元素(如 input、textarea、select)。
  • $(\”:text\”): 选择所有单行文本框。
  • $(\”:password\”): 选择所有密码框。
  • $(\”:radio\”): 选择所有单选按钮。
  • $(\”:checkbox\”): 选择所有复选框。
  • $(\”:submit\”): 选择所有提交按钮。
  • $(\”:reset\”): 选择所有重置按钮。
  • $(\”:contains(text)\”): 选择包含指定文本的元素。
  • $(\”:empty\”): 选择不包含子元素或文本的元素。
  • $(\”:has(selector)\”): 选择包含特定后代元素的元素。
  • $(\”:parent\”): 选择至少有一个子元素的元素。

如果你觉得这篇文章对你有用,欢迎点赞收藏加关注哦。

如何利用JQuery封装一个自定义通用JS操作方便在其他项目中使用?

想要利用JQuery封装一个通用的JS操作,提供给其他项目使用,首先需要明确的就是我们需要通过JQuery的封装来完成什么操作,并且这些操作必须是能够在多个项目中进行复用的操作。例如比较常见的操作有:Ajax请求封装、表单的处理、DOM操作、动画效果支持、通用事件的处理、对于数据的校验等操作。

有了这些操作之后,接下来我们就来看看如何对这些操作进行封装。

想要实现JQuery的封装,首先我们先来了解一个概念,就是匿名函数(IIFE, Immediately Invoked Function Expression),通过匿名函数(IIFE, Immediately Invoked Function Expression)来封装代码,可以避免与全局变量产生冲突,并且可以控制模块的作用域,而且在JQuery中内部本身也是通过这种方式来进行实现的,如下所示。

我们可以将$符作为参数传递给函数,然后就确保代码内部使用的$都是只想JQuery的,即使在外部调用了其他的库,重写了$符也还是一样的效果。

了解了匿名函数操作之后,接下来我们就来通过几个小例子来展示如何实现JQuery的封装。这里我们首先来演示一下封装一个Ajax请求。

封装AJAX请求

封装表单验证

当然除了对Ajax的封装之外,我们还可以创建对表单验证的封装,方便在其他项目中对表单验证操作的进行复用。

使用方式

封装常用动画

这里我们演示一个滑动显示与隐藏动画的操作,如下所示。

使用方法

当然除了对我们特定功能的扩展封装之外,我们还可以对JQuery的现有功能进行增强。例如我们可以通过 $.extend() 来扩展全局的 jQuery 对象,或者通过 $.fn.extend() 来扩展实例对象。前者更适合全局操作,后者适合对选中的元素进行操作。

全局扩展

实例方法扩展

封装完成之后,接下最重要的事情就是,在项目中进行使用。我们可以将上面的操作封装成一个独立的JS文件,然后再使用的时候可以随时进行调用。例如common-utils.js,然后在使用的时候可以通过如下的方式进行引用。

然后在其他项目中就可以直接调用你的通用方法

在实际的项目使用过程中,我们可以根据业务需求来不断的对封装操作进行扩展和优化,例如可以在封装操作中添加缓存、根据不同环境的处理、根据不同状态码进行统一的封装处理等操作。这样我们的代码不仅是项目可复用,而且还可以做到高度可维护可扩展。

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。