一、jQuery中的遍历
1、对象的遍历
格式:
jQuery对象.each(function(index,item){})
index代表索引值,item代表数组元素(由于jquery对象存放的都是标签,所以一般都是标签对象)
代码演示:
<!DOCTYPE html>
<html lang="zh-CN">
<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>jQuery</title>
</head>
<body>
<input type="text" value="1">
<input type="text" value="2">
<input type="text" value="3">
<input type="text" value="4">
<script src="../jquery-3.6.0/jquery-3.6.0.min.js"></script>
<script>
let sum = 0;
ints.each(function(index, item) {
// 方法一:使用jQuery方式
// sum += parseInt($(item).val());
// 方法二:使用dom方式
sum += parseInt(item.value);
});
console.log(sum)
</script>
</body>
</html>
2、数组的遍历
语法:
$.each(数组,function(index,item){})
index代表索引值,item代表数组元素
代码演示:
<!DOCTYPE html>
<html lang="zh-CN">
<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>jQuery案例</title>
</head>
<body>
<input type="text" value="1">
<input type="text" value="2">
<input type="text" value="3">
<input type="text" value="4">
<script src="../jquery-3.6.0/jquery-3.6.0.min.js"></script>
<script>
// 代码演示
let ints2 = $('input')
$.each(ints2, function(index, item) {
console.log(index);
console.log(item);
})
</script>
</body>
</html>
二、jQuery对操作标签的一些操作
1、删除标签
a)移除所有标签
$('div').empty();
用于移除div中所有的标签
代码演示:
<!DOCTYPE html>
<html lang="zh-CN">
<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>01-02-知识点-删除标签</title>
</head>
<body>
<div>
<p>这是段落一</p>
<p>这是段落二</p>
<p>这是段落三</p>
<p>这是段落四</p>
</div>
<script src="../jquery-3.6.0/jquery-3.6.0.min.js"></script>
<script>
//移除所有标签
$('div').empty();
</script>
</body>
</html>
b)删除特定标签
$('选择器').remove()
用于使特定标签自杀
代码演示:
<!DOCTYPE html>
<html lang="zh-CN">
<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>01-02-知识点-删除标签</title>
</head>
<body>
<div>
<p>这是段落一</p>
<p>这是段落二</p>
<p>这是段落三</p>
<p>这是段落四</p>
</div>
<script src="../jquery-3.6.0/jquery-3.6.0.min.js"></script>
<script>
//将指定标签删除
$('p:nth-child(1)').remove()
</script>
</body>
</html>
2、创建标签
步骤:
1.先创建元素
语法:$('完整的html标签')
2.给新建的标签加内容、加样式
a)创建的元素有返回值
b)返回的对象是一个jQuery对象(很重要)可以加样式之类的
3.将创建后的元素添加到对应的标签容器其中
a)添加到父元素的末尾:.append()在添加元素的时候,会将元素
$('.box').append(新标签);
b)添加在父元素开头使用:.prepend(newh1);
$('.box').prepend(新标签);
c)如果使用html()去添加元素的时候,会将标签中原来的内容覆盖掉
$('.box').html(新标签);
代码演示:
<!DOCTYPE html>
<html lang="zh-CN">
<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>jQuery案例</title>
<style>
.box {
width: 300px;
height: 300px;
border: 5px solid #ccc;
}
</style>
</head>
<body>
<div class="box">
<p>我是div里的段落</p>
</div>
<script src="../jquery-3.6.0/jquery-3.6.0.min.js"></script>
<script>
// 代码演示:
// 创建标签
let h1 = $('<h1></h1>')
// 给创建出来的标签加内容、加样式
h1.text('我是新创建的h1')
h1.css('color', 'red')
// 将创建后的元素添加到对应的父标签其中
$('body').append(h1);
</script>
</body>
</html>
3、获取标签大小
JQuery中获取元素大小:
语法1:jQuery对象.width()
获取当前标签内容区域大小
语法2:jQuery对象.innerwidth()
内容区域+内边距
语法3:jQuery对象.outerwidth()
内容区域+内边距+外边框
代码演示:
<!DOCTYPE html>
<html lang="zh-CN">
<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>jQuery获取元素的大小</title>
<style>
div {
width: 200px;
height: 200px;
background-color: #f00;
border: 10px solid #ccc;
padding: 6px;
}
</style>
</head>
<body>
<div></div>
<script src="../jquery-3.6.0/jquery-3.6.0.min.js"></script>
<script>
// 代码演示
let w1 = $('div').width()
let w2 = $('div').innerWidth()
let w3 = $('div').outerWidth()
console.log(w1, w2, w3)
</script>
</body>
</html>
4、获取标签位置
JQuery对象.offset();
总结:
1)返回的结果是一个对象
2)只有top,left方法
3)完全参照页面最左上角为(0,0)点
4)和元素是否定位完全没有任何关系
Jquery对象.position()
总结:
1)JQuery对象.position()返回的也是对象
2)内有top,left
3)如果没有子绝父相,原点在左上角
4)有子绝父相,以父元素左上角为原点
代码演示:
<!DOCTYPE html>
<html lang="zh-CN">
<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>jQuery案例</title>
<style>
.box {
width: 300px;
height: 300px;
background-color: #f00;
margin-left: 200px;
margin-top: 100px;
position: relative;
}
.one {
position: absolute;
width: 100px;
height: 100px;
background-color: blue;
}
</style>
</head>
<body>
<div class="box">
<div class="one"></div>
</div>
<script src="../jquery-3.6.0/jquery-3.6.0.min.js"></script>
<script>
// JQuery对象.offset();
// 代码演示
console.log($('.one').offset())
console.log($('.one').offset().left) //获取据左侧
console.log($('.one').offset().top) //获取顶端
//---------------------------------------------------
//Jquery对象.position()
console.log($('.one').position().top) //获取顶端
</script>
</body>
</html>
三、jQuery中移除事件
语法:jQuery对象.off('事件类型','选择器')
总结:
a)可以移除基础事件
b)可以移除on事件
c)可以移除委托事件,要选择真正被点击的标签,而不是受委托的标签
四、表单中的submit事件
submit事件
1.submit事件是表单域的一个事件,给form标签注册的
2.submit事件是被提交的时候会触发submit事件
作用:
可以在该事件中获取表单中的数据
可以替代通过在点击事件中获取表单值