jQuery笔记-基本使用
jQuery常用方法备忘。
jQuery包装集基本操作
length返回包装集大小get(index)返回包装集中对应下标的元素,如果没有传index,则将所有元素以数组形式返回index(element)返回对应的element在包装集中的下标add(expression)添加元素到包装集,expression可以是(选择器字符串,HTML字符串,元素,元素数组)not(expression)去掉包装集中元素,expression可以是(选择器字符串,元素,元素数组)filter(expression)过滤选择器元素,expression可以是(选择器字符串,函数)slice(begin,end)返回子包装集,左闭右开is(selector)如果包含匹配选择器的元素,返回true
链式操作相关方法
end()回退到jQuery命令链的前一个包装集andSelf()合并命令链最近产生的两个包装集
根据DOM关系获取包装集
子级
children()获取直接子元素contents()获取所有子元素,包含文本节点find(selector)过滤所有子元素。和children()的区别是children()只获取直接子元素,而find()会在所有子元素上过滤,同时find()不指定参数返回空,children()不指定参数返回所有子元素
同级
next()获取后面紧邻的元素nextAll()获取后面所有元素prev()获取前面紧邻的元素prevAll()获取前面所有元素siblings()获取同级的所有元素
父级
parent()获取直接父元素parents()获取所有父元素
注:以上方法除了contents()都可以传入字符串参数用于过滤
修改元素特性和属性
先看看属性和特性的区别:DOM对象属性(property)与HTML标签特性(attribute)
attr(name)获取包装集中第一个元素的特性值attr(name,value)设置特性值attr(attributes)批量设置特性值removeAttr(name)删除特性值
修改元素样式
Class相关
addClass(names)添加类到元素removeClass(names)删除元素上的类toggleClass(name)开关类名hasClass(name)判断是否包含类
CSS相关
css(name,value)设置元素CSS样式css(properties)批量设置元素CSS样式css(name)获取元素CSS样式width(value)设置宽度height(value)设置高度width()获取宽度height()获取高度
操作元素内容
获取设置HTML内容
html()获取第一个元素的html内容html(text)设置所有元素的html内容
获取设置文本内容
text()获取所有元素的文本内容text(content)设置所有元素的文本内容
删除元素
remove()删除元素。被删除的元素从DOM上脱离,并返回。empty()清空内容
例子:替换元素 $('.toReplace').after('<p>new</p>').remove()
在元素前后插入内容
append(content)在最后一个子元素后追加内容。content可以是HTML字符串,元素,包装集appendTo(target)将内容追加到目标的最后一个子元素后。target可以是选择器字符串,元素,包装集prepend(content)在第一个子元素前插入内容prependTo(target)将内容插入到目标第一个子元素前after(content)在元素后追加内容insertAfter(target)将内容追加到目标元素后before(content)在元素前插入内容insertBefore(target)将内容插入到目标元素前
关于操作元素是移动还是复制的逻辑:
如果content是包装集,比如$(".target").append(".source")
$(".target")包装集只包含一个元素,则.source选中的元素会移动到.target下$(".target")包装集包含多个元素,则.source选中的元素会克隆到.target选中的元素下,除了最后一个。.source选中的元素会移动到.target包装集的最后一个元素中
包裹元素
wrap(wrapper)用指定的内容包裹选中的元素。wrapper可以是字符串,元素,包装集,函数wrapAll(wrapper)用指定的内容包裹全部选中的元素wrapInner(wrapper)用指定的内容包裹选中元素的内容
克隆元素
clone(copyHandlers)copyHandlers为布尔值,表示是否复制事件处理
jQuery版本的选择
引用jQuery选择什么版本 1.x? 2.x? 3.x?的说法:
1.x:兼容ie678,使用最为广泛的,官方只做BUG维护,功能不再新增。因此一般项目来说,使用1.x版本就可以了,最终版本:1.12.4 (2016年5月20日)
2.x:不兼容ie678,很少有人使用,官方只做BUG维护,功能不再新增。如果不考虑兼容低版本的浏览器可以使用2.x,最终版本:2.2.4 (2016年5月20日)
3.x:不兼容ie678,只支持最新的浏览器。除非特殊要求,一般不会使用3.x版本的,很多老的jQuery插件不支持这个版本。目前该版本是官方主要更新维护的版本。最新版本:3.2.1(2017年3月20日)
1.X大版本下,细分版本非常多,各个版本的函数都会有一定的差异。网上看到的很多教程大多是1.x版本的。jquery官方手册:http://api.jquery.com/
维护ie678是意见头疼的事情,一般我们都会额外加载一个css和js单独处理。值得庆幸的是使用这些浏览器的人也逐步减少,电脑端用户已经逐步被移动端用户所取代,如果没有特殊要求的话,一般都会选择放弃对ie678的支持。
参考资料
- 《jQuery实战》
如果觉得文章对你有帮助,就打赏杯咖啡钱呗😊

