2.jQuery操作DOM元素

一.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());
	
	//重新设置的html元素
	$("h1").html("<h5>重新设置的html元素</h5>")
	console.log($('h1').html());
	
	//val()无参调用,取出数组中第一个对象的value值
	var obj=$('input').val();
	//alert(obj)
	 // val(value) 有参调用,设置数组中所有DOM对象的value值
	 $('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">
	 // attr(key,value) 设置元素的属性
	 $('#app').attr('align','center')
	 //	 attr(key) 获取元素的属性
	 console.log($('#app').attr('align'));
	 // removeAttr(key) 移除元素的key属性
	 $('#box').removeAttr('align');
	 //attr({key:value,key:value}) 设置多个元素属性
	 $('#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 添加一个aClass属性
	$('#app').addClass('aClass')
	//切换样式
	$('button').click(function() {
		//切换class样式
		$('#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) {
		//alert(index+"==="+ele);
		if (index == 1) {
			$(ele).css('color', 'red');
		}
	})
	//index 当前元素的索引,ele 当前的原生DOM对象
	$('.aClass').each(function(index, ele) {
		//alert(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 移动到 h1元素内部的后面
	$('#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">
	//after(content)	向指定元素的外部后面插入节点 content
	$('#div').after('aaa');
	//将 span 元素移到 div 元素外部的后面
	$('#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">
	//wrap(html)	向指定元素包裹一层 html 代码
	$('#div1').wrap('<strong></strong>');//在 div 外层包裹一层 stron
	
	//去除包裹
			$('#div1').unwrap();
			$('#div3').wrapInner('<div>2222</div>')
</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值