原生js,實現單選框


<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>單選框</title>
    <style>
        .options>a {
            color: #333;
            margin: 20px;
        }
        
        .checked {
            color: red!important;
        }
    </style>
</head>

<body>
    <div class="box">
        <div class="options">
            <a href="javascript:;" class="checked"></a>
            <a href="javascript:;"></a>
            <a href="javascript:;">保密</a>
        </div>
    </div>
    <script>
        var list = document.querySelectorAll(".options a"); //先獲取所有標簽
        console.log(list); //類數組
        // list.onclick = function() { //一組元素不能直接操作,只能通過下標操作,哪怕這組元素只有一個

        // }
        for (var i = 0; i < list.length; i++) {
            list[i].onclick = function() {

                //第一種方法
                // for (var i = 0; i < list.length; i++) {
                //     list[i].classList.remove("checked"); //清楚所有顏色
                // }
                // this.classList.add("checked"); //點擊哪個添加哪個顏色

                //第二種方法
                // var checkedOption = document.querySelector(".options .checked"); //獲取選中的checked類
                // checkedOption.classList.remove("checked"); //清除所有類
                // this.classList.add("checked"); //this添加類

                //第三種方法
                for (var i = 0; i < list.length; i++) {
                    if (this == list[i]) { //this 是當前操作的option,如果list[i]和this相等,說明list[i]就是我們當前操作的這一項
                        this.classList.add("checked");
                    } else {
                        list[i].classList.remove("checked");
                    }
                }

            }

        }
    </script>
</body>

</html>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM