原生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>

原文地址:https://www.cnblogs.com/quitpoison/p/11360988.html

时间: 2024-10-31 01:01:24

原生js,实现单选框的相关文章

vue.js实现单选框、复选框和下拉框

Vue.js可以很方便的实现数据双向绑定,所以在处理表单,人机交互方面具有很大的优势.下边以单选框.复选框和下拉框为例介绍他们在HTML和Vue.js中的具体实现方式. 一.单选框 在传统的HTML中实现单选框的方法如下: <div id="app"> <input type="radio" name="gender" value="man" id="man"/><label

js获取单选框里面的值

rt,如果想获取单选框里面的值,该如何获取呢. <script> window.onload = function(){ //通过名字获取 getElementsByName //var obj = document.getElementsByName("fruit"); //通过标签获取 getElementsByTagName var obj = document.getElementsByTagName("input"); for(var i=0;

javascript原生代码取单选框的值

网上搜索到的,项目中正好用到,先记下来,以后直接从自己的博客上复制粘贴!!! //取单选框选择中的值,传入单选框的name function getRadioBoxValue(radioName) { var obj = document.getElementsByName(radioName); //这个是以标签的name来取控件 for (i = 0; i < obj.length; i++) { if (obj[i].checked) { return obj[i].value; } }

js获取单选框radio的值

遇到一个js获取radio值的问题,原来根据frm.type.value取到的值在ie下是空值 解决办法:type为每个radio的值 var chkObjs=document.getElementsByName("group");        for(var i=0;i<chkObjs.length;i++){            if(chkObjs[i].checked){                var type = i;                brea

原生js创建模态框(摘自:东窗凝残月 链接:https://www.cnblogs.com/dcncy/p/9076937.html)

<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>Test</title> <style> #pageMask { visibility: hidden; //使pageMask元素不可见 position: absolute; //定位pageMask元素 left: 0px; //定位pageMask元素 top: 0px; //定位

JS获取单选框checked的value方法

var genderValue=0; var obj = document.getElementsByTagName("input"); document.getElementById('gender').onclick=function(){ for(var i=0; i<obj.length; i ++){ if(obj[i].checked && genderValue!=obj[i].value){ genderValue=obj[i].value; //

用js控制单选框或者多选框问题

出现如图问题时,这时不能用attr方法添加checked属性了,改用$( "input" ).prop( "checked", true ),完美解决.

Js获取单选框radio的几种方法

首先,编写HTML如下:   <form id="form1">         <table  border="0">              <tr>                 <td>年龄段:</td>                 <td>                     <input type="radio" name="age&q

关于通过jq /js 实现验证单选框 复选框是否都有被选中

今天项目中遇到一个问题 就是要实现,单选框,复选框 同时都被选中才能进行下一步的问题,开始用js原生来写 怎么写都觉得不合适,通过for循环得出 复选框被选中的,在通过for循环得出单选框被选中的,问题来了 得出来的值 怎么做判断的 ,到现在也没弄明白. 最后果断 用jq来实现,刚开始也是怎么都不行  最后发现clss的值被我写错了 哎 剁手! 好了 下面上jq 实现 验证 单选框 复选框有没有同时被选中: <div class="tab-stpp" id="tab-s