HTML5:'data-'屬性的作用是什么


     在大家查看HTML時,經常會看到data-role、data-theme等的使用,比如:通過如下代碼即可實現頁眉的效果:

1 <div data-role="header">   
2     <h1>我是標題</h1>   
3 </div>

     為什么寫一個data-role="header"就能實現底部為黑色、文字居中顯示的效果呢?

     本文提供一種最簡單的實現辦法,讓大家對這些用法有個直觀的了解。

     我們寫一個html頁面,自定義一個data-chb="header"的屬性,希望具備這個屬性的div區域背景顏色為黑色,文字為白色,居中顯示;不具備data-chb自定義屬性的div按照默認方式顯示,html代碼如下:

1 <body>   
2   <div data-chb="header">   
3     <h1>我是使用了data-chb自定義屬性的div</h1>   
4   </div>   
5   <br/>   
6   <div>   
7  我沒有使用data-chb自定義屬性,該怎么展現就怎么展現; 8   </div>   
9 </body> 

     要想實現"背景顏色為黑色,文字為白色,居中顯示"的顯示效果,我們定義如下的css:

1 <style> 2  .ui_header {   
3  background-color: black;   
4  text-align: center;   
5  color:white;   
6  border:1px solid #000;   
7 }   
8 </style> 

     然后我們通過如下js方法實現在頁面加載時,動態添加css定義,改變具備data-chb屬性的div的顯示樣式:

 1 <script type="text/javascript">   
 2     window.onload=function(){  3        var elems = document.getElementsByTagName("div");  4        if(elems!=null&&elems.length>0){  5           var length = elems.length;  6           //遍歷所有DIV控件 
 7           for(var i=0;i<length;i++){  8               var elem = elems[i];  9               //獲取該控件的自定義屬性 
10               var customAttr = elem.dataset.chb; 11              //也可以通過如下方式獲得自定義屬性 
12              //var customAttr = elem.dataset["chb"]; 
13              //如果是我們預先定義好的header值,表示需要處理 
14              if(customAttr=="header"){ 15                 //添加樣式 
16                 elem.setAttribute("class","ui_header"); 17  } 18  } 19  } 20  } 21 </script>     

      當然此屬性除了以上作用外,還有其他作用,如通過JS來構造數據,填充數據等;

轉載鏈接:http://blog.csdn.net/yongxiaokang1/article/details/41644469


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM