js实现隐藏和显示html

通常,我们的目的是在点击一个按钮时触发显示样式的不同;

1. 首先清楚我们需要默认展示的样式,其次需要找到点击某个按钮后需要展示的样式;

  对于默认展示的样式:我们需要设置style="display:block" 

  

  <div class="col-sm-6 deleteType-item" style="display: block">
                    <label class="col-sm-4 control-label"></label>
                    <button class="btn btn-primary" οnclick="deleteCourse()">删除课程</button>
                </div>
                <div class="col-sm-6 addType-item" style="display: none">
                    <label class="col-sm-4 control-label"></label>
                    <button class="btn btn-primary" οnclick="addCourse()">增加课程</button>
                </div>

  

  对于需要隐藏的样式:需要设置style="display:none"

  并对不同的类型设置不同的class标签,比如删除课程设置的是deleteType-item, 增加课程设置的是addType-item

2. 其次需要在不同的条件下展示不同的样式,以下面的实现为例,我们需要在select框发生变化的时候,来确定到底是删课还是加课,οnchange="permissionChange()"方法正是帮助我们来改变样式的;

 <div class="col-sm-4">
                        <select class="form-control" id="permissionType" οnchange="permissionChange()"> 
                            <option value="delete">删课</option>
                            <option value="add">加课</option>
                        </select>
                    </div>

3. 通过js代码控制显示的html, 我们获取到select框的id, 并获取到对应的value, 根据1中的className 获取到对应的节点。然后遍历每种节点的list, 进行修改

function permissionChange() {
    var perObj = document.getElementById('permissionType');
    var perOption = perObj.options[perObj.selectedIndex] || null;
    var addItems = document.getElementsByClassName('addType-item');
    var deleteItems = document.getElementsByClassName('deleteType-item');
    if (perOption.value === 'delete') {
        for (var i = 0; i < deleteItems.length; i++) {
            deleteItems[i].style.display = 'block';
        }
        for (var i = 0; i < addItems.length; i++) {
            addItems[i].style.display = 'none';
        }

    } else {
        for (var i = 0; i < deleteItems.length; i++) {
            deleteItems[i].style.display = 'none';
        }
        for (var i = 0; i < addItems.length; i++) {
            addItems[i].style.display = 'block';
        }
    }

}

  

转载于:https://www.cnblogs.com/leavescy/p/11239001.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值