jQuery自2006年发布以来,已经被前端程序员使用了这么多年,可以算得上前端最长寿的库了。
本文记录学习jQuery时基础的操作
对于程序员来讲,基础操作就是CRUD了
jQuery获取元素
语法
$(“选择表达式”)
选择表达式可以是css选择器,也可以是jQuery特有表达式
css选择器
developer.mozilla.org/zh-CN/docs/…
h1 ---类型选择器
* ---通配符选择器
.box ---类选择器
#unique ---ID选择器
a[title] ---标签属性选择器
p:first-child ---伪类选择器
p::first-line ---伪元素选择器
article p ---后代选择器
article > p ---子选择器
h1 + p ---相邻兄弟选择器
h1 ~ p ---通用兄弟选择器
复制代码
jQuery特有表达式
$('a:first') //选择网页中第一个a元素
$('tr:odd') //选择表格的奇数行
$('#myForm :input') // 选择表单中的input元素
$('div:visible') //选择可见的div元素
$('div:gt(2)') // 选择所有的div元素,除了前三个
$('div:animated') // 选择当前处于动画状态的div元素
复制代码
改变选择的结果集
当获取元素后,如果想修改选中的元素,就要使用jQuery提供的方法了
过滤器
$('div').has('p'); // 选择包含p元素的div元素
$('div').not('.myClass'); //选择class不等于myClass的div元素
$('div').filter('.myClass'); //选择class等于myClass的div元素
$('div').first(); //选择第1个div元素
$('div').eq(5); //选择第6个div元素
复制代码
移动
$('div').next('p'); //选择div元素后面的第一个p元素
$('div').parent(); //选择div元素的父元素
$('div').closest('form'); //选择离div最近的那个form父元素
$('div').children(); //选择div的所有子元素
$('div').siblings(); //选择div的同级元素
复制代码
jQuery的链式操作
jQuery与DOM操作一个最大区别是,jQuery可以链式操作
使用链式操作可以简化代码量,使代码更高效、优雅
$('div').find('h2').eq(0).html('Hi');
复制代码
分解开
$('div') //找到div元素
.find('h2') //选择其中的h2元素
.eq(0) //选择第1个h1元素
.html('Hi'); //将它的内容改为Hi
复制代码
实现原理就是,每一步jQuery操作返回的都是一个jQuery对象
jQuery的查询与修改
jQuery对元素的查询与修改的常见方法都采用了”重载”
.html() 取出或设置html内容
.text() 取出或设置text内容
.attr() 取出或设置某个属性的值
.width() 取出或设置某个元素的宽度
.height() 取出或设置某个元素的高度
.val() 取出某个表单元素的值
复制代码
需要注意的是,如果结果集包含多个元素,那么赋值的时候,将对其中所有的元素赋值;取值的时候,则是只取出第一个元素的值(.text()例外,它取出所有元素的text内容)。
jQuery移动元素
就是提供两组方法,来操作元素在网页中的位置移动。一组方法是直接移动该元素,另一组方法是移动其他元素,使得目标元素达到我们想要的位置。
假定我们选中了一个div1元素,需要把它移动到div2元素后面。
$('div1').insertAfter($('div2'));
或者
$('div2').after($('div1'));
复制代码
这两种操作返回的元素不一样。第一种方法返回div1元素,第二种方法返回div2元素
使用这种模式的操作方法,一共有四对:
.insertAfter()和.after():在现存元素的外部,从后面插入元素
.insertBefore()和.before():在现存元素的外部,从前面插入元素
.appendTo()和.append():在现存元素的内部,从后面插入元素
.prependTo()和.prepend():在现存元素的内部,从前面插入元素
复制代码
jQuery创建元素、复制元素、删除元素
复制元素使用.clone()。
删除元素使用.remove()和.detach()。两者的区别在于,前者不保留被删除元素的事件,后者保留,有利于重新插入文档时使用。
清空元素内容(但是不删除该元素)使用.empty()。
创建新元素的方法非常简单,只要把新元素直接传入jQuery的构造函数就行了:
$('<p>hi</p>');
$('<div class="div1"></div>');
$('.div1').append('<div class="div2">hello</div>');
复制代码
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END