欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

jquery实现节点上移、下移

程序员文章站 2023-12-26 15:13:57
...

$().prop('outerHTML')
$().html()方法是获取当前节点下的html代码,但并不包括当前节点,

js dom里有一个属性outerHTML用来获取当前节点的html代码(包括当前节点),通过jquery的prop()方法可以拿到,

具体实现代码如下

<DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>jquery实现节点上移、下移</title>
	</head>
	<body>
		<div>
			<div class="item" style="border: 1px solid red;">
				<div style="display: flex;">
					<div class="sort-down">下移</div>
					<div class="sort-asc">上移</div>
				</div>
				<div>
					内容11111
				</div>
			</div>
			<div class="item" style="border: 1px solid blue; text-align: center">
				<div style="display: flex;">
					<div class="sort-down">下移</div>
					<div class="sort-asc">上移</div>
				</div>
				<div>
					内容22222
				</div>
			</div>
			<div class="item" style="border: 1px solid yellow; text-align: right;">
				<div style="display: flex;">
					<div class="sort-down">下移</div>
					<div class="sort-asc">上移</div>
				</div>
				<div>
					内容33333
				</div>
			</div>
		</div>
		<script type="text/javascript" src="jquery-3.2.1.js"></script>
		<script>
			$(document).on('click', '.sort-down', function(){
				//判断是否有下一个节点
				if($(this).parents('.item').nextAll().length > 0){
					$(this).parents('.item').next().after($(this).parents('.item').prop('outerHTML'));
					$(this).parents('.item').remove();
				}
			}).on('click', '.sort-asc', function(){
				//判断是否有上一个节点
				if($(this).parents('.item').prevAll().length > 0){
					$(this).parents('.item').prev().before($(this).parents('.item').prop('outerHTML'));
					$(this).parents('.item').remove();
				}
			})
		</script>
	</body>
</html>





上一篇:

下一篇: