jQuery基础使用

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特有表达式

api.jquery.com/category/se…

$('a:first') //选择网页中第一个a元素
$('tr:odd') //选择表格的奇数行
$('#myForm :input') // 选择表单中的input元素
$('div:visible') //选择可见的div元素
$('div:gt(2)') // 选择所有的div元素,除了前三个
$('div:animated') // 选择当前处于动画状态的div元素
复制代码

改变选择的结果集

当获取元素后,如果想修改选中的元素,就要使用jQuery提供的方法了

过滤器

api.jquery.com/category/tr…

$('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元素
复制代码

移动

api.jquery.com/category/tr…

$('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
喜欢就支持一下吧
点赞0 分享