利用dom节点实现上移下移

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>
    </head>
<body>
    <ul>
        <li>1.
            <input type="button" value="上移" />
            <input type="button" value="下移" />
        </li>
        <li>2.
            <input type="button" value="上移" />
            <input type="button" value="下移" />
        </li>
        <li>3.
            <input type="button" value="上移" />
            <input type="button" value="下移" />
        </li>
        <li>4.
            <input type="button" value="上移" />
            <input type="button" value="下移" />
        </li>
        <li>5.
            <input type="button" value="上移" />
            <input type="button" value="下移" />
        </li>
        </ul>
    <script>
        var aInput = document.getElementsByTagName('input');
        var oUl = document.getElementsByTagName('ul')[0];
        for (var i = 0; i < aInput.length; i++) {
            if (i % 2 == 0) { //上移
                aInput[i].onclick = function () {
                    var nowLi = this.parentNode;
                    var prevLi = previousNode(nowLi);
                    if (!prevLi) {
                        alert('到头了');
                    } else {
                        oUl.insertBefore(nowLi, prevLi);
                    }
                };
            } else //下移
            {
                aInput[i].onclick = function () {
                    var nowLi = this.parentNode;
                    var nextLi = nextNode(nowLi);
                    if (!nextLi) {
                        alert('到尾了');
                    } else {
                        oUl.insertBefore(nextLi, nowLi);
                    }
                };
            }
        }
        function firstNode(obj) {
            if (!obj.firstChild) {
                return false;
            }
            return obj.firstElementChild || (obj.firstChild.nodeType == 1 ? obj.firstChild : nextNode(obj.firstChild));
        }
        function lastNode(obj) {
            if (!obj.lastChild) {
                return false;
            }
            return obj.lastElementChild || (obj.lastChild.nodeType == 1 ? obj.lastChild : previousNode(obj.lastChild));
        }
        function nextNode(obj) {
            if (!obj.nextSibling) {
                return false;
            }
            return obj.nextElementSibling || (obj.nextSibling.nodeType == 1 ? obj.nextSibling : nextNode(obj.nextSibling));
        }
        function previousNode(obj) {
            if (!obj.previousSibling) {
                return false;
            }
            return obj.previousElementSibling || (obj.previousSibling.nodeType == 1 ? obj.previousSibling : previousNode(obj.previousSibling));
        }
    </script> 
</body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值