前端中级阶段学习(4) -jQuery的概念与基本使用

11 篇文章 0 订阅
11 篇文章 0 订阅

前面我们已经基本掌握常规的语法语义,以及基本的使用方法。接下来我们讲深入进去了解其中内在的原理。
也了解 DOM、BOM,但是因为规范是一在变的,有没有什么类库可以方便操作这些呢?进入我们今天的主题jQuery

jQuery

这东西出来很久了,一般来说都用过。提供一个速查地址

jQuery 简介

jQuery 设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情
jQuery 是一个跨浏览器(兼容所有常见浏览器,包括IE6)的工具库。
提供了元素选取元素操作CSS操作事件处理动画AJAX等功能。

jQuery 的特点

  1. 链式操作(很优秀)
  2. 高效、灵活的选择器(id、class、tag、伪元素、attr、层级)
  3. 插件机制
  4. 兼容主浏览器,提供了统一的功能接口

jQuery 插件机制

  1. jQuery.fn.extend(object) 对应 $('div'). 的操作。

    jQuery.fn.extend({
      check: function() {
        return this.each(function() { this.checked = true; });
      },
      uncheck: function() {
        return this.each(function() { this.checked = false; });
      }
    });
    $("input[type=checkbox]").check();
    $("input[type=radio]").uncheck();
    
  2. jQuery.extend(object) 对应 $. 的操作。

    jQuery.extend({
      min: function(a, b) { return a < b ? a : b; },
      max: function(a, b) { return a > b ? a : b; }
    });
    jQuery.min(2,3); // => 2
    jQuery.max(4,5); // => 5
    
  3. jQuery.extend([deep], target, object1, [objectN])
    用一个或多个其他对象来扩展一个对象,返回被扩展的对象。

    如果不指定target,则给jQuery命名空间本身进行扩展。这有助于插件作者为jQuery增加新方法。 **如果第一个参数设置为true,则jQuery返回一个深层次的副本,递归地复制找到的任何对象。否则的话,副本会与原对象共享结构。**未定义的属性将不会被复制,然而从对象的原型继承的属性将会被复制。

jQuery 选择器

  1. 基本
    #id 、 element 、 .class 、 * 、 selector1,selector2,selectorN
  2. 层级
    ancestor descendant 、 parent > child 、 prev + next 、prev ~ siblings
  3. 基本筛选器
    :first:not(selector):even:odd:eq(index):gt(index):lang1.9+、:last:lt(index):header:animated:focus:root1.9+、:target1.9+
  4. 内容
    :contains(text):empty:has(selector):parent
  5. 可见性
    :hidden:visible
  6. 属性
    [attribute][attribute=value][attribute!=value][attribute^=value][attribute$=value][attribute*=value][attrSel1][attrSel2][attrSelN]
  7. 子元素
    :first-child:first-of-type1.9+、:last-child:last-of-type1.9+、:nth-child:nth-last-child()1.9+、:nth-last-of-type()1.9+、:nth-of-type()1.9+、:only-child:only-of-type1.9+、
  8. 表单
    :input:text:password:radio:checkbox:submit:image:reset:button:file
  9. 表单对象属性
    :enabled:disabled:checked:selected
  10. 混淆选择器
    $.escapeSelector(selector)3.0+
    这个方法通常被用在类选择器或者ID选择器中包含一些CSS特殊字符的时候,这个方法基本上与CSS中CSS.escape()方法类似,唯一的区别是jquery中的这个方法支持所有浏览器。

jQuery()

核心函数,我认为这是很优秀的一个点。小小的$函数,包含了我们想要的大多数功能。

jQuery(Function)

等价于$.ready(Function)
DOM载入就绪执行一个函数回调。可以避免当页面DOM还没有加载就操作了DOM。(会报错)
简单地说,这个方法纯粹是对向window.load事件注册事件的替代方法。不同的是可以绑定多次(addEventListener也可以绑定多次)。ready如果页面加载完成之后,还会继续调用(load不会)

jQuery(element)

将原生DOM转换为jQuery封装的DOM
也可以传入一个elementArray,来批量转换一组原生DOM

jQuery([selector,[context]])

传入一个选择器,并且可以限制范围。返回一组匹配的元素。

jQuery(html,[ownerDocument])

据提供的原始 HTML 标记字符串,动态创建由 jQuery 对象包装的 DOM 元素。同时设置一系列的属性、事件等。
也可以用来处理XML

$.fn.attr()$.fn.prop()$.fn.data()

$.fn.attr()

设置或返回被选元素的属性值。比如href,src,id,class
对应attribute

$.fn.prop()

设置或返回被选元素的状态值。可以理解为原始值、状态。比如checkeddisabled
对应properties

$.fn.data()

早期是直接绑定在DOM对象上的。
目前如果浏览器支持HTML5,会在DOM元素上data-*读取和存储。

data-* 也可以DOM方法dataset来读取或修改。

$.fn.get()$.fn.eq[]

image.png

  1. $.fn.get()等价于[]
  2. get获取到的是真是的DOM
  3. eq获得到的还是jQuery包裹的DOM对象。相应的,还有其他方法可以获取。

html()text()val()

  1. html()对应innerHTML
  2. text()对应innerText
  3. val()对应value

最后,给大家推荐一个前端学习进阶内推交流群685910553前端资料分享),不管你在地球哪个方位,
不管你参加工作几年都欢迎你的入驻!(群内会定期免费提供一些群主收藏的免费学习书籍资料以及整理好的面试题和答案文档!)

如果您对这个文章有任何异议,那么请在文章评论处写上你的评论。

如果您觉得这个文章有意思,那么请分享并转发,或者也可以关注一下表示您对我们文章的认可与鼓励。

愿大家都能在编程这条路,越走越远。

更多文章:

前端HTML & CSS 基础入门(1)初识

前端HTML & CSS 基础入门(2)段落及文本

前端HTML & CSS 基础入门(3)列表及其样式

前端HTML & CSS 基础入门(4)边框与背景

前端HTML & CSS 基础入门(5)超链接

前端HTML & CSS 基础入门(6)表格

前端HTML & CSS 基础入门(7)表单

前端HTML & CSS 基础入门(8)CSS盒子

前端HTML & CSS 基础入门(9)布局与定位

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值