1.什么是jQuer ?
jQuery是JavaScript库,也是一个方法库;也就是说jQuery里面封装了很多JavaScript的语句、函数等。供我们使用,大大的简化了JavaScript对HTML、DOM的操作。我们常用的一些方法它里面都有,我们可以直接拿来使用就行了。
2.jQuery的使用
jQuery方法大全中文网这个网站可以多看看,里面是 jQuery 的方法大全,而且是中文的。
jQuery 之所以好用,很多人愿意使用,是因为他的几个优点太强大了。
- 优质的选择器和筛选器
- 好用的隐式迭代
- 强大的链式编程
因为这些东西的出现,很多时候我们要做的事情被 “一行代码解决”;
我们要使用 jQuery 首先要下载一个jQuery文件,可以在官网下载;然后在页面里面引入jQuery.js就可以了
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script src="./jquery/jquery.js></script>
</body>
</html>
这样就可以使用了,jQuery 向全局暴露的接口就是 jQuery 或者 $ 都行。
3.选择器与晒选器
选择器和筛选器就是用来帮我们获取 DOM 元素的。
3.1 选择器
jQuery 有着相当强大的选择器。
- 按照
id来获取元素
// 按照 id 获取页面中的元素
const ele = jQuery('#box');
const ele = $('#box');
- 按照
类名来选择元素,可以获取到一组元素。
// 按照类名来选择
const eles = jQuery('.a');
const eles = $('.a');
- 按照
标签名来获取元素,可以获取到一组元素。
const lis = jQuery('div');
const lis = $('li');
- 按照
选择器来获取元素,可以获取到一组元素
const eles = jQuery('ul > li');
const eles = $('ul > li');
3.2 特殊的选择器
- 直接找到第一个
$('li:first') // 找到所有 li 中的第一个
- 直接找到最后一个
$('dd:last') // 找到所有 dd 中的最后一个
- 通过数组的索引(下标)找到第几个
$('li:eq(3)') // 找到所有 li 中索引为 3 的那个
- 找到所有奇数
$('li:odd') // 找到所有 li 中索引为 奇数 的
- 找到所有偶数
$('li:even') // 找到所有 li 中索引为 偶数 的
3.3 筛选器
jQuery 的筛选器就是在选择器选择到一组元素以后;对元素进行筛选,也可以对准确的某一个元素进行判断和获取。
- 找到所有元素中的第一个
$('li').first();
- 找到所有元素中的最后一个
$('li').last();
- 找到某一个元素的下一个兄弟元素
$('li:eq(3)').next();
- 找到某一个元素的上一个兄弟元素
$('li:eq(3)').prev();
- 找到某一个元素的后面的所有兄弟元素
$('li:eq(3)').nextAll();
- 找到某一个元素的前面的所有兄弟元素
$('li:eq(3)').prevAll();
- 找到某一个元素的父元素
$('li:eq(3)').parent();
- 找到某一个元素的所有结构父级,一直到
html
$('li:eq(3)').parents();
- 找到一组元素中的某一个
// 在 li 的所有父级里面找到所有 body 标签
$('li').parents().find('body');
// 找到 div 标签下所有后代元素中所有类名为 box 的元素
$('div').find('.box');
4.属性操作
- 给一个元素添加某个属性
// 给 div 元素添加一个 id 属性,值是 box
$('div').prop('id', 'box');
// 获取 div 的 id 属性
console.log($('div').prop('id'));
prop 这个方法只能添加元素自己本身就有的属性;如果是添加的自定义属性,不会显示在标签上,但是可以使用。
- 给一个元素添加某个自定义属性
// 给 div 添加一个 index 属性,值是 1
$('div').attr('index', 1);
// 获取 div 的 index 属性
console.log($('div').attr('index'));
- 移除元素的某一个属性
// 移除元素自己本身的属性
$('div').removeProp('id');
// 移除元素的自定义属性
$('div').removeAttr('index');
5.操作元素的类名
- 判断某一个元素有没有某一个
class
$('div').hasClass('box'); // true 表示该元素有 box 类名,false 表示该元素没有 box 类名
- 给元素添加一个类名
$('div').addClass('box2; // 给 div 元素添加一个 box2 类名
- 移除元素的类名
$('div').removeClass('box'); // 移除 div 的 box 类名
- 切换元素类名
$('div').toggleClass('box3'); // 如果元素本身有这个类名就移除,本身没有就添加
6.操作元素的内容
- 给元素的
innerHTML赋值
$('div').html('<span>hello world</span>');
// 获取元素的 innerHTML
$('div').html();
- 给元素的
innerText赋值
$('div').text('hello world');
// 获取元素的 innerText
$('div').text();
- 给元素的
value赋值
$('input').val('admin');
// 获取元素的 value 值
$('input').val();
7.操作样式
jQuery 操作元素的样式就是一个方法 css
- 给元素设置一个
css样式
$('div').css('width', '100px')
- 获取元素的某一个样式
$('div').css('width')
- 给元素设置一组样式
$('div').css({
width: '100px',
height: '200px'
})