其他DOM操作

  • 除了基本的DOM处理支持之外,在jQuery对于DOM的处理也有许多扩展操作

在指定的元素之前追加

<html>
<head>
	<title>jquery 属性操作</title>
	<meta charset="UTF-8"/>
	<link rel="stylesheet" type="text/css" href="css/style.css"/>
	<script type="text/javascript" src="js/jquery.min.js" charset="utf-8"></script>
	<script type="text/javascript">
	//在页面加载时执行
		$(function(){
			for(var x=0;x<10;x++){
				//在dept-title元素中的子元素之前追加新的元素内容
				$("#dept-title").prepend("<tr><td>"+x+"</td><td>部门名称"+x+"</td><td>部门位置"+x+"</td></tr>");
			}
			
		});
	</script>
</head>
<body>
	<div id="tablediv">
		<table id="dept-title">
			<tr>
				<td>部门编号</td>
				<td>部门名称</td>
				<td>部门位置</td>
			</tr>
		</table>
	</div>
</body>
</html>
  • 页面效果

在这里插入图片描述

  • 此时调用了prepend()函数之后添加的元素都保存在了之前的元素之上.

在指定元素元素之后追加内容

<html>
<head>
	<title>jquery 属性操作</title>
	<meta charset="UTF-8"/>
	<link rel="stylesheet" type="text/css" href="css/style.css"/>
	<script type="text/javascript" src="js/jquery.min.js" charset="utf-8"></script>
	<script type="text/javascript">
	//在页面加载时执行
		$(function(){
		
			$("#info").after("<span>在元素之后</span>");
			$("#info").before("<span>在元素之前</span>");
			
		});
	</script>
</head>
<body>
	<div id="info" class="init">www.maoshu.com</div>
</body>
</html>

在这里插入图片描述

  • 除了这些操作之外,还可以实现元素的包裹处理

元素包裹处理

<html>
<head>
	<title>jquery 属性操作</title>
	<meta charset="UTF-8"/>
	<link rel="stylesheet" type="text/css" href="css/style.css"/>
	<script type="text/javascript" src="js/jquery.min.js" charset="utf-8"></script>
	<script type="text/javascript">
	//在页面加载时执行
		$(function(){
			//包裹元素
			$("#info").wrap("<h1></h1>");
			
		});
	</script>
</head>
<body>
	<span id="info">www.maoshu.com</span>
</body>
</html>

在这里插入图片描述

取消元素包裹

<html>
<head>
	<title>jquery 属性操作</title>
	<meta charset="UTF-8"/>
	<link rel="stylesheet" type="text/css" href="css/style.css"/>
	<script type="text/javascript" src="js/jquery.min.js" charset="utf-8"></script>
	<script type="text/javascript">
	//在页面加载时执行
		$(function(){
			//解除包裹
			$("span").unwrap("div");
		});
	</script>
</head>
<body>
	<div class="init">
	<span id="info">www.maoshu.com</span>
	<div>
</body>
</html>

在这里插入图片描述

元素替换处理

<html>
<head>
	<title>jquery 属性操作</title>
	<meta charset="UTF-8"/>
	<link rel="stylesheet" type="text/css" href="css/style.css"/>
	<script type="text/javascript" src="js/jquery.min.js" charset="utf-8"></script>
	<script type="text/javascript">
	//在页面加载时执行
		$(function(){
			//替换元素中的内容
			$("<span>HelloWorld</span>").replaceAll($("div"));
		});
	</script>
</head>
<body>
	<div class="init">
	你好世界!我爱这个世界,这个世界可真美好,我要努力奋斗.
	</div>
</body>
</html>

在这里插入图片描述

  • 在整个的DOM处理过程之中,还有一个重要的函数,此函数的名称为each()函数.此函数的最大作用在于可以实现数据的便利处理操作.尤其是在于选择器返回一组元素的时候使用它

取得一组元素内容

<html>
<head>
	<title>jquery 属性操作</title>
	<meta charset="UTF-8"/>
	<link rel="stylesheet" type="text/css" href="css/style.css"/>
	<script type="text/javascript" src="js/jquery.min.js" charset="utf-8"></script>
	<script type="text/javascript">
	//在页面加载时执行
		$(function(){
			$("div").each(function(){//回调函数
			//每个回调函数中都包含有this对象,但是只有将this对象转换为jQuery对象
			//才可以使用text()函数取得元素中的内容
				console.log($(this).text());
			});
		});
	</script>
</head>
<body>
	<div >你好世界!</div>
	<div>我爱这个世界,</div>
	<div>这个世界可真美好,</div>
	<div>我要努力奋斗,</div>
</body>
</html>

在这里插入图片描述

  • 现在在回调函里面可以针对于选择器选择出来的每一个元素对象进行单独的设置.
  • 在实际开发中each()函数最常用的功能就是为函数动态绑定事件

为一组函数动态绑定事件

<html>
<head>
	<title>jquery 属性操作</title>
	<meta charset="UTF-8"/>
	<link rel="stylesheet" type="text/css" href="css/style.css"/>
	<script type="text/javascript" src="js/jquery.min.js" charset="utf-8"></script>
	<script type="text/javascript">
	//在页面加载时执行
		$(function(){
			for(var x=0;x<10;x++){
				$("table").append("<tr><td>"+x+"</td><td><input type='button' value='执行'></td></tr>");
			}
			$("input[type=button]").each(function(){
				$(this).bind("click",function(){alert("你好")});
			});
		});
	</script>
</head>
<body>
	<table>
		<tr>
			<td>编号</td>
			<td>操作</td>
		</tr>
	</table>
</body>
</html>

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43386754/article/details/86489946