利用元素属性值进行排序的简单实例

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport">
    <title></title>
	<style>
		ul{
			display:flex;
			flex-direction:column;
			text-align:center;
			list-style:none;
			padding-left:0;
			max-width: 360px;
			border:dashed 1px #aaa;
		}
		
		ul li{
			background:#fff;
		}
		li:nth-child(2n+0){
			background:#aaa;
		}
		.btn{
			width:40px;
			height:20px;
			background:#3385ff;
			color:#fff;
			text-align:center;
			line-height:20px;
			margin:10px
		}
		footer{
			display:flex;
		}
	</style>
</head>
<body>
<header>
</header>
<main>
<ul>
	<li sortnumber="7">7</li>
	<li sortnumber="19">19</li>
	<li sortnumber="31">31</li>
	<li sortnumber="47">47</li>
	<li sortnumber="11">11</li>
	<li sortnumber="23">23</li>
</ul>
</main>
<footer>
	<div class="btn sort">
		<span>sort</span>
	</div>
</footer>
</body>
<script>
	window.οnlοad=function(){

        var bubbleSortDom=function (children,parent) {
            var arr=[];
            for(var i=0;i<children.length;i++){
                arr.push(children[i]);
            }
            arr.sort(function (a,b){
                return Number(a.getAttribute('sortnumber'))-Number(b.getAttribute('sortnumber'));
            });
            for(var j=0;j<arr.length;j++){
                parent.append(arr[j]);
            }
        };

        document.querySelector('.sort').addEventListener('click', function () {
            var ul=document.querySelector('ul');
            var list=document.querySelectorAll('ul li');
            bubbleSortDom(list,ul);
        });
	}
</script>

</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值