js实现复选框全选、全不选特效

js实现复选框全选、全不选特效

html代码:


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="util.js"></script>
    <script>
        function chooseAll(){
            var checks=$("check");
            for(var i =0;i<checks.length;i++){
                checks[i].checked=true;
            }
        }
        function chooseNo(){
            var checks=$("check");
            for(var i =0;i<checks.length;i++){
                checks[i].checked=false;
            }
        }
        function reChoose(){
            var checks=$("check");
            for(var i =0;i<checks.length;i++){
                /*if(checks[i].checked){
                    checks[i].checked=false;
                }else{
                    checks[i].checked=true;
                }*/
                checks[i].checked=!checks[i].checked;
            }
        }
    </script>
</head>
<body>
    <table>

        <tr>
            <td>
                <input type="button" value="全选" οnclick="chooseAll()"/>
                <input type="button" value="全不选" οnclick="chooseNo()"/>
                <input type="button" value="反选" οnclick="reChoose()"/>
            </td>
        </tr>
        <tr>
            <td><input type="checkbox" name="check"/></td>
        </tr>
        <tr>
            <td><input type="checkbox" name="check"/></td>
        </tr>
        <tr>
            <td><input type="checkbox" name="check"/></td>
        </tr>
        <tr>
            <td><input type="checkbox" name="check"/></td>
        </tr>
    </table>

</body>
</html>

js代码:

/**
 *
 * @param idOrName  如果传入id  前面加上#   如果传入name  直接传入
 * @returns {*}  返回元素节点  如果没找到 返回null
 */
function $(idOrName){
    var obj=null;
    if(idOrName){
        if(idOrName.charAt(0)=="#"){
            obj=document.getElementById(idOrName.substring(1));
        }else{
            obj=document.getElementsByName(idOrName);
        }
    }
    return obj;
}
/**
 *
 * @param parentNode  父节点
 * @returns {Array}  所有的元素子节点
 */
function getChildNodes(parentNode){
    var childs=parentNode.childNodes;
    var newChilds=[];
    for(var i=0;i<childs.length;i++){
        if(childs[i].nodeType==1){
            newChilds.push(childs[i]);
        }
    }
    return newChilds;
}
/**
 *
 * @param parentNode 父节点
 * @returns {*|Node}   第一个元素节点
 */
function getFirstChild(parentNode){
    var firstChild=parentNode.firstChild;
    if(firstChild.nodeType==3){
        firstChild=firstChild.nextSibling;
    }
    return firstChild;

}
/**
 *
 * @param parentNode 父节点
 * @returns {*|Node}   最后一个元素节点
 */
function getLastChild(parentNode){
    var lastChild=parentNode.lastChild;
    if(lastChild.nodeType==3){
        lastChild=lastChild.previousSibling;
    }
    return lastChild;
}
/**
 *
 * @param node  元素节点
 * @returns {*|Node}  返回下一个兄弟元素节点
 */
function getNextSibling(node){
    var nextNode=node.nextSibling;
    if(nextNode.nodeType==3){
        nextNode=nextNode.nextSibling;
    }
    return nextNode;
}
/**
 *
 * @param node  元素节点
 * @returns {*|Node}  返回前一个兄弟元素节点
 */
function getPreviousSibling(node){
    var preNode=node.previousSibling;
    if(preNode.nodeType==3){
        preNode=preNode.previousSibling;
    }
    return preNode;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值