js--pink

关于排他思想

先干掉所有人,再给自己添加属性

/ 1. 获取所有按钮元素
        var btns = document.getElementsByTagName('button');
        // btns得到的是伪数组  里面的每一个元素 btns[i]
        console.log(btns);
        for (let i= 0; i< btns.length; i++) {
            btns[i].onclick = function () {
                for (var i = 0; i < btns.length; i++) {
                   btns[i].style.backgroundColor = '';
                }
                this.style.backgroundColor = 'red'
            }
            
        }

关于表格隔行变色

先获取每一行元素,再给每一行添加点击事件,让鼠标经过时添加一个新的类,类里改变背景颜色
当鼠标离开时,改变类名为空,代码如下

  var ele = document.querySelector('tbody').querySelectorAll('tr');
        for(var i = 0; i <= ele.length ; i ++) {
            ele[i].onmouseover = function() {
                this.className = 'bg';
            }
            ele[i].onmouseout = function(){
                this.set
            }
        }

在jq中可以选择移除添加的类

  移除一个class$(".default").removeClass("default ");
`
  1.     获取标签的所有class
    
var classname_module = $(".lv").attr("class");

全选与反选

 // 1. 全选和取消全选做法:  让下面所有复选框的checked属性(选中状态) 跟随 全选按钮即可
        // 获取元素
        var j_cbAll = document.getElementById('j_cbAll'); // 全选按钮
        var j_tbs = document.getElementById('j_tb').getElementsByTagName('input'); // 下面所有的复选框
        // 注册事件
        j_cbAll.onclick = function() {
                // this.checked 它可以得到当前复选框的选中状态如果是true 就是选中,如果是false 就是未选中
                console.log(this.checked);
                for(var i =0; i <= j_tbs.length; i ++) {
                    j_tbs[i].checked = this.checked ;
                }



        // for (var i = 0; i < j_tbs.length; i++) {
        //     j_tbs[i].onclick = function() {
        //         // flag 控制全选按钮是否选中
        //         var flag = true;
        //         // 每次点击下面的复选框都要循环检查者4个小按钮是否全被选中
        //         for (var i = 0; i < j_tbs.length; i++) {
        //             if (!j_tbs[i].checked) {
        //                 flag = false;
        //                 break; // 退出for循环 这样可以提高执行效率 因为只要有一个没有选中,剩下的就无需循环判断了
        //             }
        //         }
        //         j_cbAll.checked = flag;
        //     }
        // }

关于tab栏切换那点事

 // 获取元素
        var tab_list = document.querySelector('.tab_list');
        var lis = tab_list.querySelectorAll('li');
        var items = document.querySelectorAll('.item');
        // for循环绑定点击事件
        for (var i = 0; i < lis.length; i++) {
            // 开始给5个小li 设置索引号 
            lis[i].setAttribute('index', i);
            lis[i].onclick = function() {
                // 1. 上的模块选项卡,点击某一个,当前这一个底色会是红色,其余不变(排他思想) 修改类名的方式

                // 干掉所有人 其余的li清除 class 这个类
                for (var i = 0; i < lis.length; i++) {
                    lis[i].className = '';
                }
                // 留下我自己 
                this.className = 'current';
                // 2. 下面的显示内容模块
                var index = this.getAttribute('index');
                console.log(index);
                // 干掉所有人 让其余的item 这些div 隐藏
                for (var i = 0; i < items.length; i++) {
                    items[i].style.display = 'none';
                }
                // 留下我自己 让对应的item 显示出来
                items[index].style.display = 'block';
            }
        }

重点还是运用了排他思想和为标签设置属性方法 ,可以让上下对应显示

生成表格


    // 获取按钮注册点击事件
    var btn = document.getElementById('btn');
    var btn = document.getElementById('btn');
    btn.onclick = function () {
		var flag = true;
		// 获取文本框
		var uname = document.getElementById('uname');
		var email = document.getElementById('email');
		if(uname.value == '' || email.value == ''){
			alert('请将数据填入完全')
		    return;
		}
	    // 创建一行
	    var trObj = document.createElement('tr');
	    // 把行加入到tbody中
	    var tbd = document.getElementById('tbd');
	    tbd.appendChild(trObj);
	    // 创建列,添加到行中
	    var td1 = document.createElement('td');
	    td1.innerHTML = uname.value;
	    var td2 = document.createElement('td');
	    td2.innerHTML = email.value;
	    trObj.appendChild(td1);
	    trObj.appendChild(td2);

    };
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值