Green 发表于 2021-7-9 12:53:50

jQuery的基本使用和理解

  
什么是jQuery

[*]一个强大的JS函数库,封装简化了DOM操作/Ajax

jQuery的特点

[*]强大的选择器:方便快速查找DOM元素
[*]隐式遍历:一次操作多个元素
[*]读写合一:读数据/写数据用的是同一个函数
[*]事件处理
[*]链式调用
[*]DOM操作
[*]样式操作

jQuery函数:$/jQuery

[*]当成函数使用:$(param)

[*]param是function:相当于window.onload = function(文档加载完成的监听)
[*]param是选择器字符串:查找所有匹配的DOM元素,返回包含所有DOM元素的jQuery对象
[*]param是DOM元素:将DOM元素对象包装为jQuery对象返回
[*]param是标签字符串:创建标签DOM元素对象并包装为jQuery对象返回


[*]当成对象使用:$.xxx

[*]$.each(obj/arr, function(key, value)):遍历对象或数组
[*]$.trim(str):去掉字符串两边的空白字符

jQuery对象

[*]通过执行$()/jQuery()得到
[*]包含所有匹配的DOM元素的伪数组对象
[*]基本行为
[*]length/size():得到DOM元素的个数
[*]:得到指定下标对应的DOM元素
[*]each(fucntion(index, domEle){}):遍历所有DOM元素
[*]index():得到当前DOM元素在所有兄弟中的下标


选择器

[*]基本选择器与原生css大同小异
[*]过滤选择器

[*]:first:找出匹配到的DOM中的第一个
[*]:last:找出匹配到的DOM中的最后一个
[*]:eq(index):找出匹配到的DOM中的指定元素
[*]:lt(index)
[*]:gt(index)
[*]:not(selector): 从匹配到的DOM中排除selector选中的元素
[*]:odd:从匹配到的中找出索引值奇数的(索引从0开始)
[*]:even:从匹配到的中找出索引值偶数的
[*]:hidden:从匹配中的DOM找出不可见的
[*]:visible:从匹配中的DOM找出可见的


[*]表单选择器

[*]:input: 匹配所有 input, textarea, select 和 button 元素
[*]:text:匹配所有的单行文本框
[*]:checkbox:匹配所有复选框
[*]:radio:匹配所有单选按钮
[*]:checked:匹配所有选中的被选中元素(复选框、单选框等,select中的option)
  下面的方法都在jQuery对象里

操作标签的属性

[*]attr(name)/attr(name, value): 读写非布尔值的标签属性
[*]prop(name)/prop(name, value): 读写布尔值的标签属性
[*]removeAttr(name)/removeProp(name): 删除属性
[*]addClass(classValue): 添加class
[*]removeClass(classValue): 移除指定的class
[*]toggleClass(classValue): 如果存在(不存在)就删除(添加)一个类。
[*]val()/val(value): 读写标签体文本
[*]html()/html(htmlString): 读写标签体文字

操作CSS

[*]style样式

[*]css(styleName)/css(styleName, value):读写一个值
[*]css({样式配置对象}):设置多个样式


[*]位置坐标

[*]offset():读写当前元素坐标(原点是页面左上角)
[*]position():读写当前元素坐标(原点是父元素左上角)
[*]scrollTop():读写当前元素/页面的滚动条坐标


[*]尺寸

[*]width()/height(): width/height
[*]innerWidth()/innerHeight(): width + padding
[*]outerWIdth()/outerHeight(): width + padding + border

筛选模块

[*]过滤:在匹配的DOM中找出部分匹配的DOM

[*]first()
[*]last()
[*]eq(index)
[*]filter(selector): 匹配的元素需要满足的条件
[*]not(selector)
[*]has(selector):匹配到的元素的子孙需要满足的条件


[*]查找:根据已知元素,查找它的相关元素

[*]children(selector): 查找子元素
[*]find(selector): 查找后代元素
[*]preAll(selector): 前面的所有兄弟
[*]siblings(selector): 所有兄弟
[*]parent(): 父元素

文档处理

[*]增加

[*]append()/appendTo(): 向每个匹配的元素内部追加内容,插入后部
[*]preppend()/preppendTo(): 向每个匹配的元素内部追加内容,插入前部
[*]before(): 在每个匹配的元素之前插入内容
[*]after(): 在每个匹配的元素之后插入内容


[*]删除

[*]remove(): 将自己及内部的孩子都删除
[*]empty(): 将内部的孩子删除,自己还在


[*]更新

[*]replaceWith(): 将所有匹配的元素替换成指定的HTML或DOM元素。

事件模块

[*]绑定事件

[*]eventName(function(){})
[*]on('eventName', function(){})


[*]解绑事件

[*]off('eventName')


[*]事件委托

[*]将子元素的事件委托给父元素处理
[*]事件绑定在父元素身上,但发生在子元素上
[*]事件会冒泡到父元素
[*]但最终调用事件回调函数的是子元素:event.target


[*]事件坐标

[*]event.offsetX: 原点是当前元素左上角
[*]event.clientX: 原点是窗口左上角
[*]event.pageX: 原点是页面左上角


[*]事件相关

[*]停止事件冒泡:event.stopPropagation()
[*]阻止事件默认行为:event.preventDefault()

  

  
文档来源:51CTO技术博客https://blog.51cto.com/u_15295346/3022595
页: [1]
查看完整版本: jQuery的基本使用和理解