jQuery-DOM操作

目录

获取和设置属性值(css)

追加和删除样式(addClass、removeClass)

切换样式(toggleclass)

元素内容操作(html、text) 

属性值操作(value) 

删除节点(remove)

克隆节点(clone)

获取、设置、删除元素属性(attr、removeAttr)


获取和设置属性值(css)

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>获取和设置样式值</title>
		<script src="js/jQuery.js"></script>
		<style>
			p{
				color: #f00;
				font-size: 30px;
			}
		</style>
	</head>
	<body>
		<p>段落标签</p>
	</body>
	<script>
		$(document).ready(function(){
			//获取p标签并获取样式值
			var color = $('p').css('color');
			console.log(color);
			var fontSize = $("p").css("font-size");
			console.log(fontSize);
			
			//获取p标签并设置样式
			$('p').css("background-color","#0f0");
			//获取P标签并且同时设置多个样式
			$('p').css({
				'text-decoration':'underline',
				'text-algin':'center',
				'border':'1px solid #00f'
			})
						
		});
		
	</script>
</html>

追加和删除样式(addClass、removeClass)

  • addClss():追加样式
  • removeClass():删除样式

示例:

//获取p元素标签并追加样式text

$('p').addClass('test');

//获取p元素标签并删除样式demo

$('p').removeClass('demo');

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>追加和删除样式</title>
		<script src="js/jQuery.js"></script>
		<style>
			.demo{
				color: #f00;;
				font-size: 30px;
			}
			
			.test{
				background-color: #ccc;
				border: 1px solid #00f;
				border-radius: 10px;
			}
		</style>
	</head>
	<body>
		<p class="demo">段落标签</p>
		<button>追加样式</button>
		<button>移出样式</button>
	</body>
	<script>
		$(function(){
			// 获取添加样式按钮,添加点击事件
			$('button:first').click(function(){
				$('p').addClass('test');
			});
			
			// 获取移出样式按钮,添加点击事件
			$('button:last').click(function(){
				$('p').removeClass('demo');
			});
		});
	</script>
</html>

切换样式(toggleclass)

toggleclass():切换样式

示例

$('p').toggleClass('demo');//获取p元素标签并切换demo样式

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>切换样式</title>
		<script src="js/jQuery.js"></script>
		<style>
			.demo{
				color: #f00;
				font-size: 36px;
				background-color: #ccc;
			}
		</style>
	</head>
	<body>
		<p>段落标签</p>
		<button>切换样式</button>
	</body>
	<script>
		$(function(){
			$('button').click(function(){
				$('p').toggleClass('demo');
			})
		});
	</script>
</html>

元素内容操作(html、text) 

  • html:获取的内容包括标签和文本
  • text:获取的内容只有文本
  • html:加入标签和文本时标签不显示,标签效果存在
  • text:加入标签和文本时,标签显示且没有效果

示例

//获取div节点内的所有内容,包括标签和文本

$('div').html();

//只获取div节点内的文本

$('div').text();

//使用html向id为demo的元素标签中添加文本内容

$('#demo').html('大户名城,建设高地');

//使用text向id为demo的元素标签中添加文本内容
$('#demo').text('大湖名城,建设高地');

//使用html向id为demo的元素标签中添加元素标签和文本内容时,添加的元素标签有效果
$('#demo').html('<h2>大湖名城,建设高地<h2/>');

//使用text向id为demo的元素标签中添加元素标签和文本内容时,添加的元素标以文本显示且无效果
$('#demo').text('<h2>大湖名城,建设高地<h2/>');

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>内容操作</title>
		<script src="js/jQuery.js"></script>
	</head>
	<body>
		<div>
			<ul>
				<li>
					<p>段落标签1</p>
				</li>
				<li>
					<p>段落标签2</p>
				</li>
			</ul>
		</div>
		<p id="demo"></p>
	</body>
	<script>
		$(function(){
			var result1= $('div').html();
			console.log(result1);
			
			var result2= $('div').text();
			console.log(result2);
			
			// $('#demo').html('大户名城,建设高地');
			// $('#demo').text('大湖名城,建设高地');
			// $('#demo').html('<h2>大湖名城,建设高地<h2/>');
			// $('#demo').text('<h2>大湖名城,建设高地<h2/>');
		});
	</script>
</html>

属性值操作(value) 

示例:

//获取input元素标签中的value属性值

$('input').val();

//设置input元素标签中的value属性值

$('input').val('篮球');

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>value属性值操作</title>
		<script src="js/jQuery.js"></script>
	</head>
	<body>
		<input type="checkbox" value="basketball"/>篮球
	</body>
	<script>
		$(function(){
			var result1 = $('input').val();
			console.log(result1);
			
			$('input').val('篮球');
			var result2 = $('input').val();
			console.log(result2);
		});
	</script>
</html>

创建节点

  • A.append(B):在当前标签(A)中添加新建标签(B)
  • B.appendTo(A):将新建标签(B)添加到当前标签(A)中     
  • A.prepend(B):将新建标签(B)添加到当前标签(A)中
  • B.prependTo(a):将新建标签(B)添加到当前标签(A)中     
  • A.after(B):将新建标签(B)添加到当前标签(A)之后
  • B.insertAfter(A):将新建标签(B)添加到当前标签(A)之后     
  • A.before(B):将新建标签(B)添加到当前标签(A)之前
  • B.insertBefore(A):将新建标签(B)添加到当前标签(A)之前

示例

//创建一个li元素标签

$('<li>jQuery中创建的元素标签<li/>');

//获取ul元素后将新创建的元素标签默认添加到末尾

 $('ul').append(liEle);

//将新创建的元素节点添加到ul元素中,默认添加到末尾

 liEle.appendTo($('ul'));

//获取ul元素标签后将新创建的元素添加到ul里所有标签之前

 $('ul').prepend(liEle);

//将新标签添加到ul元素标签下的所有标签之前

liEle.prependTo($('ul'));

//获取ul元素标签后将新创建的元素添加到ul标签之前

$('ul').before(pEle);

//将新标签添加到ul元素标签之前

pEle.insertBefore($('ul'));

//获取ul元素标签后将新创建的元素添加到ul标签之后

$('ul').after(pEle);

//将新标签添加到ul元素标签之后

pEle.insertAfter($('ul'));

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>节点操作</title>
		<script src="js/jQuery.js"></script>
	</head>
	<body>
		<ul>
			<li>我是已经写好的li标签</li>
			<li>我是已经写好的li标签</li>
		</ul>
		<script>
			$(function(){
				//创建一个li元素标签
				var liEle = $('<li>jQuery中创建的元素标签<li/>');
				
				//将li元素标签添加到ul元素标签中
				// $('ul').append(liEle);
				// liEle.appendTo($('ul'));
				
				//将li元素标签添加到所有li元素标签之前
				// $('ul').prepend(liEle);
				liEle.prependTo($('ul'));
				
				//创建一个p元素标签
				var pEle = $('<p>世界人口突破500亿<p/>');
				
				//将p元素标签添加到ul元素标签之前
				// $('ul').before(pEle);
				// pEle.insertBefore($('ul'));
				
				//将p元素表签添加到ul元素之后
				// $('ul').after(pEle);
				pEle.insertAfter($('ul'));
			});
		</script>
	</body>
</html>

删除节点(remove)

示例

$('h2').remove();//获取h2元素标标签收使用remove删除h2元素标签

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>删除节点</title>
		<script src="js/jQuery.js"></script>
	</head>
	<body>
		<h2>二级标题标签</h2>
		<ul>
			<li>列表项第1项</li>
			<li>列表项第2项</li>
			<li>列表项第3项</li>
		</ul>
	</body>
	<script>
		$(function(){
			//删除标题标签
			$('h2').remove();
			//删除列表第二项
			$('li:eq(1)').remove();
		})
	</script>
</html>

替换节点

  • A.replaceWith(B):将当前标签(A)替换为新标签(B)
  • B.replaceAll(A):将当前标签(A)替换为新标签(B)

示例

//获取li元素标签后使用replaceWith替换为新标签

$('li:eq(1)').replaceWith($liEle);

//新标签使用replaceAll与li元素标签进行替换
$liEle.replaceAll($('li:eq(1)'));

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>替换节点</title>
		<script src="js/jQuery.js"></script>
	</head>
	<body>
		<ul>
			<li>列表项第1项</li>
			<li>列表项第2项</li>
			<li>列表项第3项</li>
		</ul>
	</body>
	<script>
		$(function(){
			//创建一个li元素标签
			var $liEle = $('<li>我是jQuery创建的元素标签<li/>');
			//替换第二个li元素标签
			// $('li:eq(1)').replaceWith($liEle);
			$liEle.replaceAll($('li:eq(1)'));
		});
	</script>
</html>

克隆节点(clone)

clone():如果括号里的值为false,克隆时不克隆元素标签中的事件,如果括号里的值为true,克隆时克隆元素标签中的事件。

示例

//克隆ul元素标签,包括ul元素标签中的事件

var result = $('ul').clone(true);

//只克隆ul元素标签,包括ul元素标签中的事件,括号中的默认值为false

var result = $('ul').clone();

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>克隆节点</title>
		<script src="js/jQuery.js"></script>
	</head>
	<body>
		<div>
			<ul>
				<li>列表项第1项</li>
				<li>列表项第2项</li>
				<li>列表项第3项</li>
			</ul>
		</div>
	</body>
	<script>
		$(function(){
			$('ul').click(function(){
				$('ul').css('background-color','yellow');
			})
			
			//克隆ul元素标签
			var result = $('ul').clone(true);
			
			//将克隆的ul元素标签添加到div中
			$('div').append(result);
		})
	</script>
</html>

获取、设置、删除元素属性(attr、removeAttr)

  • attr():获取和设置元素属性
  • removeAttr():删除元素属性

示例

//获取img元素标签后使用attr得到width属性值

$('img').attr('width');

//获取img元素标签后使用attr设置width属性值为800像素

$('img').attr('width','800px');

//获取img元素标签后使用removeAttr删除width属性值

$('img').removeAttr('width');

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>获取、设置、删除元素属性</title>
		<script src="js/jQuery.js"></script>
	</head>
	<body>
		<img src="img/sec1-5.jpg" width="500px" title="饮料">
	</body>
	<script>
		$(function(){
			//获取属性值
			var result1 = $('img').attr('width');
			console.log(result1);
			var result2 = $('img').attr('src');
			console.log(result2);
			
			//设置属性值
			$('img').attr('width','800px');
			$('img').attr('title','好喝的饮料');
			
			//删除属性
			$('img').removeAttr('title');
			$('img').removeAttr('width');
		})
	</script>
</html>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值