一.jQuery操作DOM元素
1.基础DOM操作
方法名 描述
html() 获取元素中HTML内容
html(value) 设置元素中HTML内容
text() 获取元素中文本内容
text(value) 设置元素中文本内容
val() 获取表单中的文本内容
val(value) 设置表单中的文本内容
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>jQuery对DOM的操作</title>
<script src="js/jquery-3.5.1.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<h1>这是一行标题</h1>
<input type="text" name="" id="" value="23121" />
<input type="text" name="" id="" value="23121" />
</body>
</html>
<script type="text/javascript">
$("h1").text("设置后的文本内容")
console.log($('h1').text());
$("h1").html("<h5>重新设置的html元素</h5>")
console.log($('h1').html());
var obj=$('input').val();
$('input').val("000")
</script>
2.添加属性的方法
1.attr
attr(key,value) 设置元素的属性
attr(key) 获取元素的属性
attr({key:value,key:value}) 设置多个元素属性
removeAttr(key) 移除元素的key属性
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="js/jquery-3.5.1.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<div id="app" style="background-color: red;" align="right">aaa</div>
<div id="box" align="center">
111
</div>
</body>
</html>
<script type="text/javascript">
$('#app').attr('align','center')
console.log($('#app').attr('align'));
$('#box').removeAttr('align');
$('#box').attr({class:'red',id:'app2'})
</script>
3.添加class属性
添加class属性可以通过attr来实现,但是提供了一个addClass()方法
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="js/jquery-3.5.1.js" type="text/javascript" charset="utf-8"></script>
<style type="text/css">
.aClass {
width: 200px;
height: 200px;
background: red;
}
.bClass {
width: 200px;
height: 200px;
background: yellow;
}
</style>
</head>
<body>
<div id="app">
</div>
<div id="box" class="aClass">
</div>
<button type="button">切换按钮</button>
</body>
</html>
<script type="text/javascript">
$('#app').addClass('aClass')
$('button').click(function() {
$('#box').toggleClass('bClass');
})
</script>
4.遍历DOM元素 each
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="js/jquery-3.5.1.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<div id="box">
<h1 class="aClass">111</h1>
<h1 class="aClass">222</h1>
<h1 class="aClass">333</h1>
<h1 class="aClass">444</h1>
</div>
</body>
</html>
<script type="text/javascript">
var arr = document.getElementsByTagName('h1');
$.each(arr, function(index, ele) {
if (index == 1) {
$(ele).css('color', 'red');
}
})
$('.aClass').each(function(index, ele) {
if (index == 2) {
$(ele).css('color', 'red');
}
})
</script>
5.创建DOM节点
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="js/jquery-3.5.1.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<div id="div1">
111
</div>
<div id="div2">
222
</div>
<div id="div3">
333
</div>
<span id="sp1">
我是sp1
</span>
<h1>我是h1</h1>
<h2>我是h2</h2>
</body>
</html>
<script type="text/javascript">
$('#div1').append('<span>一行元素</span>')
$('#div2').append(function(index, html) {
if (index == 0) {
return '<span>一个元素</span>'
} else {
return "";
}
})
$('#sp1').appendTo('h1');
$('h2').prepend('<span>一个元素</span>');
</script>
6.插入节点
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="js/jquery-3.5.1.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<span id="sp1">111</span><br>
<span id="sp2">222</span><br>
<span id="sp3">222</span>
<div id="div">我是div</div>
</body>
</html>
<script type="text/javascript">
$('#div').after('aaa');
$('#sp1').insertAfter('#div');
</script>
7.包裹节点
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="js/jquery-3.5.1.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<div id="div1">111</div>
<div id="div2">222</div>
<div id="div3">333</div>
</body>
</html>
<script type="text/javascript">
$('#div1').wrap('<strong></strong>');
$('#div1').unwrap();
$('#div3').wrapInner('<div>2222</div>')
</script>