• HTML5自定义data属性


    可能大家在使用jquery mobile时,经常会看到data-role、data-theme等的使用,比如:通过如下代码即可实现页眉的效果:

    <div data-role="header">
        <h1>我是标题</h1>
    </div>
    通过手机浏览,效果如下:

    为什么写一个data-role="header"就能实现底部为黑色、文字居中显示的效果呢?


    本文提供一种最简单的实现办法,让大家对这些用法有个直观的了解。


    我们写一个html页面,自定义一个data-chb="header"的属性,希望具备这个属性的div区域背景颜色为黑色,文字为白色,居中显示;不具备data-chb自定义属性的div按照默认方式显示,html代码如下:

    <body>
      <div data-chb="header">
        <h1>我是使用了data-chb自定义属性的div</h1>
      </div>
      <br/>
      <div>
        我没有使用data-chb自定义属性,该怎么展现就怎么展现;
      </div>
    </body>

    要想实现"背景颜色为黑色,文字为白色,居中显示"的显示效果,我们定义如下的css:

     <style>
     .ui_header {
      background-color: black;
      text-align: center;
      color:white;
      border:1px solid #000;
    }
     </style>

    然后我们通过如下js方法实现在页面加载时,动态添加css定义,改变具备data-chb属性的div的显示样式:
          <script type="text/javascript">
          window.onload=function(){
            var elems = document.getElementsByTagName("div");
            if(elems!=null&&elems.length>0){
              var length = elems.length;
              //遍历所有DIV控件
              for(var i=0;i<length;i++){
                var elem = elems[i];
                //获取该控件的自定义属性
                var customAttr = elem.dataset.chb;
                //也可以通过如下方式获得自定义属性
                //var customAttr = elem.dataset["chb"];
                //如果是我们预先定义好的header值,表示需要处理
                if(customAttr=="header"){
                  //添加样式
                  elem.setAttribute("class","ui_header");
                }
              }
            }
          }
        </script>

    最后页面显示效果如下:



  • 相关阅读:
    MFC之界面提示(CToolTipCtrl类)
    Windows的三种坐标系:屏幕坐标系,非客户区坐标系,客户区坐标系
    【数据库】insert语句
    【js】v-for 的一些用法 :class {{index}}
    jQuery查找选中的checkbox个数
    limit offset
    http状态码
    Whitelabel Error Page
    【Mybatis】Mybatis generator的使用
    【CSS】Bootstrap 图标
  • 原文地址:https://www.cnblogs.com/hehe520/p/6330183.html
Copyright © 2020-2023  润新知