zoukankan      html  css  js  c++  java
  • HTML5自定义属性操作

    一、自定义属性(html5标准)data-属性名称="属性值"

    • 自定义属性的名称驼峰式命名规则需要用-隔开
    • 自定义属性名称如果连在一起写,大写会自动转为小写
        data-user="eric"======>属性名称是user
        data-user-name="eric"===>属性名称是userName
        data-userName="eric"=====>属性名称是username

    二、jquery的方式操作自定义属性,jQuery方式操作的是内存

    三、HTML5的方式获取自定义属性,HTML5操作的是DOM

    四、案例:tab切换

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>HTML5自定义属性</title>
        <style>
            ul{
                list-style: none;
                width: 400px;
            }
            .nav li{
                width: 100px;
                height: 40px;
                line-height: 40px;
                text-align: center;
                color: #fff;
                background: black;
                float: left;
                cursor: pointer;
            }
            ul:first-child li.active{
                background: red;
            }
            .box li{
                width: 400px;
                height: 400px;
                background: pink;
                display: none;
            }
            .box li.show{
                display: block;
            }
        </style>
    </head>
    <body>
        <ul class="nav">
            <li data-content-id="content01">菜单1</li>
            <li data-content-id="content02" class="active">菜单2</li>
            <li data-content-id="content03">菜单3</li>
            <li data-content-id="content04">菜单4</li>
        </ul>
        <ul class="box">
            <li id="content01">内容1</li>
            <li id="content02" class="show">内容2</li>
            <li id="content03">内容3</li>
            <li id="content04">内容4</li>
        </ul>
        <script>
            window.onload=function(){
                document.querySelector(".nav").onclick=function(e){
                    // nav部分
                    var currentLi=e.target;
                    if(currentLi.classList.contains("active")) return false;
                    var oldLi=document.querySelector(".nav li.active");
                    oldLi.classList.remove("active");
                    currentLi.classList.add("active");
                    // content部分
                    var oldContent=document.querySelector("#"+oldLi.dataset.contentId);
                    oldContent.classList.remove("show");
                    var currentContent=document.querySelector("#"+currentLi.dataset.contentId);
                    currentContent.classList.add("show");
                }
            }
        </script>
    </body>
    </html>

  • 相关阅读:
    .net core 3.1 使用Redis缓存
    JavaSE 高级 第11节 缓冲输入输出字节流
    JavaSE 高级 第10节 字节数组输出流ByteArrayOutputStream
    JavaSE 高级 第09节 字节数组输入流ByteArrayInputStream
    JavaSE 高级 第08节 文件输出流FileOutputStream
    JavaSE 高级 第07节 文件输入流FileInputStream
    JavaSE 高级 第06节 初识I、O流
    JavaSE 高级 第05节 日期类与格式化
    JavaSE 高级 第04节 StringBuffer类
    JavaSE 高级 第03节 Math类与猜数字游戏
  • 原文地址:https://www.cnblogs.com/EricZLin/p/9256666.html
Copyright © 2011-2022 走看看