VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > JavaScript教程 >
  • JavaScript DOM–元素操作(2)

"> </div> <script> var div = document.querySelector('#demo'); // 获取属性 console.log(div.id); // demo //获取自定义属性 console.log(div.getAttribute('index')); // 1 </script> </body>
  1. ele.属性名 = ‘值’ (自带属性)
  2. ele.setAttribute(‘属性’)
<body>
    <div id="demo" > </div>
    <script>
        var div = document.querySelector('#demo');
        // 自带属性设置
        div.id = 'test';
        // 自定义属性设置
        div.setAttribute('index', 'ce_shi')
    </script>
</body>
  1. ele.removeAttribute(‘属性’)
<body>
    <div id="demo" index="1"> </div>
    <script>
        var div = document.querySelector('#demo');
        // 移除自定义属性
        div.removeAttribute('index')
    </script>
</body>
  1. 自定义属性以’data-’开头命名
  2. H5新增ele.dataset.自定名 或者 ele.dataset[‘自定义名’]   ie11 才支持
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>tab栏切换</title>

    <style>
        * {
            margin: 0;
            padding: 0;
        }

        li {
            list-style-type: none;
        }

        .tab {
            width: 978px;
            margin: 100px auto;
        }

        .tab_list {
            height: 39px;
            border: 1px solid #ccc;
            background-color: #f1f1f1;
        }

        .tab_list li {
            float: left;
            height: 39px;
            line-height: 39px;
            padding: 0 20px;
            text-align: center;
            cursor: pointer;
        }

        .tab_list .current {
            background-color: #c81623;
            color: #fff;
        }

        .item_info {
            padding: 20px 0 0 20px;
        }

        .item {
            display: none;
        }
    </style>
</head>
<body>
    <div class="tab">
        <div class="tab_list">
            <ul>
                <li class="current">商品介绍</li>
                <li>规格与包装</li>
                <li>售后保障</li>
                <li>商品评价(50000)</li>
                <li>手机社区</li>
            </ul>
        </div>
        <div class="tab_con">
            <div class="item" style="display: block;">
                商品介绍模块内容
            </div>
            <div class="item">
                规格与包装模块内容
            </div>
            <div class="item">
                售后保障模块内容
            </div>
            <div class="item">
                商品评价(50000)模块内容
            </div>
            <div class="item">
                手机社区模块内容
            </div>

        </div>
    </div>

    <script>
        // 获取元素
        var tab_list = document.querySelector('.tab_list');
        var lis = tab_list.querySelectorAll('li');
        var items = document.querySelectorAll('.item');

        for (var i=0; i< lis.length; i++) {
            // 设置定义属性为index
            lis[i].setAttribute('index', i);

            // 给每个li注册点击事件
            lis[i].onclick = function () {

                // 干掉其他人
                for (var i=0; i<lis.length; i++) {
                    lis[i].className = ''
                }

                this.className = 'current';

                // 获取自定义属性
                var index = this.getAttribute('index');
                for (var i=0; i<items.length; i++) {
                    items[i].style.display = 'none'
                }
                items[index].style.display = 'block'


            }
        }

    </script>


</body>
</html>

排他思想

如果有同一组元素,我们想要某一个元素实现某种样式, 需要用到循环的排他思想算法:

干掉所有人,留下我自己。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>按钮</title>

    <style>

    </style>
</head>
<body>
    <button>按钮1</button>
    <button>按钮2</button>
    <button>按钮3</button>
    <button>按钮4</button>
    <button>按钮5</button>
    <script>
        var btns = document.querySelectorAll('button');

        for (var 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'
            }
        }
    </script>

</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>表格变色</title>
    <style>
        table {
            width: 800px;
            margin: 100px auto;
            text-align: center;
            border-collapse: collapse;
            font-size: 14px;
        }

        thead tr {
            height: 30px;
            background-color: skyblue;
        }

        tbody tr {
            height: 30px;
        }

        tbody td {
            border-bottom: 1px solid #d7d7d7;
            font-size: 12px;
            color: blue;
        }

        .bg {
            background-color: pink;
        }
    </style>
</head>
<body>
    <table>
        <thead>
            <tr>
                <th>代码</th>
                <th>名称</th>
                <th>最新公布净值</th>
                <th>累计净值</th>
                <th>前单位净值</th>
                <th>净值增长率</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>003526</td>
                <td>农银金穗3个月定期开放债券</td>
                <td>1.075</td>
                <td>1.079</td>
                <td>1.074</td>
                <td>+0.047%</td>
            </tr>
            <tr>
                <td>003526</td>
                <td>农银金穗3个月定期开放债券</td>
                <td>1.075</td>
                <td>1.079</td>
                <td>1.074</td>
                <td>+0.047%</td>
            </tr>
            <tr>
                <td>003526</td>
                <td>农银金穗3个月定期开放债券</td>
                <td>1.075</td>
                <td>1.079</td>
                <td>1.074</td>
                <td>+0.047%</td>
            </tr>
            <tr>
                <td>003526</td>
                <td>农银金穗3个月定期开放债券</td>
                <td>1.075</td>
                <td>1.079</td>
                <td>1.074</td>
                <td>+0.047%</td>
            </tr>
            <tr>
                <td>003526</td>
                <td>农银金穗3个月定期开放债券</td>
                <td>1.075</td>
                <td>1.079</td>
                <td>1.074</td>
                <td>+0.047%</td>
            </tr>
            <tr>
                <td>003526</td>
                <td>农银金穗3个月定期开放债券</td>
                <td>1.075</td>
                <td>1.079</td>
                <td>1.074</td>
                <td>+0.047%</td>
            </tr>
        </tbody>
    </table>

    <script>
        // 获取元素
        var trs = document.querySelector('tbody').querySelectorAll('tr');
        for (var i=0; i < trs.length; i++) {
            // 注册鼠标经过事件
            trs[i].onmouseover = function () {
                this.className = 'bg'
            };
            // 注册鼠标离开事件
            trs[i].onmouseout = function () {
                this.className = ''
            }
        }


    </script>

</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>全选反选</title>
    <style>
        * {
            padding: 0;
            margin: 0;
        }

        .wrap {
            width: 300px;
            margin: 100px auto 0;
        }

        table {
            border-collapse: collapse;
            border-spacing: 0;
            border: 1px solid #c0c0c0;
            width: 300px;
        }

        th,
        td {
            border: 1px solid #d0d0d0;
            color: #404060;
            padding: 10px;
        }

        th {
            background-color: #09c;
            font: bold 16px "微软雅黑";
            color: #fff;
        }

        td {
            font: 14px "微软雅黑";
        }

        tbody tr {
            background-color: #f0f0f0;
        }

        tbody tr:hover {
            cursor: pointer;
            background-color: #fafafa;
        }
    </style>
</head>
<body>
<div class="wrap">
    <table>
        <thead>
        <tr>
            <th>
                <input type="checkbox" id="j_cbAll"/>
            </th>
            <th>商品</th>
            <th>价钱</th>
        </tr>
        </thead>
        <tbody id="j_tb">
        <tr>
            <td>
                <input type="checkbox"/>
            </td>
            <td>iPhone8</td>
            <td>8000</td>
        </tr>
        <tr>
            <td>
                <input type="checkbox"/>
            </td>
            <td>iPad Pro</td>
            <td>5000</td>
        </tr>
        <tr>
            <td>
                <input type="checkbox"/>
            </td>
            <td>iPad Air</td>
            <td>2000</td>
        </tr>
        <tr>
            <td>
                <input type="checkbox"/>
            </td>
            <td>Apple Watch</td>
            <td>2000</td>
        </tr>

        </tbody>
    </table>
</div>

<script>
    // 获取元素
    var j_cbAll = document.querySelector('#j_cbAll');
    var j_tb = document.querySelector('#j_tb');
    var inputs = j_tb.querySelectorAll('input');

    // 全选按钮,根据id j_cbAll
    j_cbAll.onclick = function () {
        // console.log(this.checked);
        for (var i=0; i< inputs.length; i++) {
            inputs[i].checked = this.checked;
        }
    };

    for (var i=0; i < inputs.length; i++) {
        inputs[i].onclick = function () {
            var flag = true;
            for (var i=0; i < inputs.length; i++) {
                // 如果变量不为真,则全选框就不为真,直接退出循环
                if (!inputs[i].checked) {
                    flag = false;
                    break;
                }
            }
            j_cbAll.checked = flag;  // 设置全选按钮为变量值  true or false
        }
    }

</script>

</body>
</html>


相关教程
          
关于我们--广告服务--免责声明--本站帮助-友情链接--版权声明--联系我们       黑ICP备07002182号