跳到主要內容

HTML5 自定義屬性 的小問題

自定義屬性非常好用。
在呼叫上有很多方法。
可以參考這一篇。
http://sincode.blogspot.tw/2014/09/html5-data-data.html


HTML5 強大的新功能 data() data- 自定義屬性介紹

常常會看到程式碼裡面有 < a href="#" class ="RemoveLink"  data-id="myid ">

這是什麼呢?
是DOM物件上的自定義屬性,是HTML5才有的!

這有什麼好處呢?


比如我們本來需要用ajax獲得一些資料
但這些資料其實都不太會變動,就可以使用data-屬性了!

請看範例:
 < ul id="vegetable">
        <li data-spacing ="10cm" data-sowing-time="March to June"> Carrots</ li>
        <li data-spacing ="30cm" data-sowing-time="February to March"> Celery</ li>
        <li data-spacing ="3cm" data-sowing-time="March to September">Radishes </li >
    </ul >
    這樣定義後,當我們要將它呈現在網頁上時,就可以直接使用
    <script src ="Scripts/jquery-2.1.1.js"></ script>
    <script type ="text/javascript">
        $(document).ready(
          function () {
              $( '#vegetable>li').each( function (index, element) {
                  console.log(index)
                  alert($(element).data( 'spacing'))
              })
          }
        )
        //來取得預先設定好的公分數和熟成時間了!  是不是很方便呢?
    </script >


定義介紹:
jQuery.data( element keyvalue  )

element - 必要的參數,這個屬性就是我們要塞入資料的節點。
key - 欲塞入資料的鍵值,往後取得資料使用。
value - 欲塞入的資料,可為任何的資料型態。

JQuery寫入:
    $(this).data("mykey", "myValue")
也等於:
    $.data(this,"myKey","myValue")

jQuery取值:
    $(this ).attr("data-myKey" )
等於
    $(this ).data("myKey")


其實data()就是在改變該Object也就是其dataset屬性的值而已:

var myObject = { myProperty: 'myValue' }  
$.data(myObject, 'newProperty1', 'newValue1');
結果:myObject值為'newValue1'

JavaScript寫入語法:
<div id="test" data-age ="24"> Click Here</div>
var test = document.getElementById( 'test');
      test.dataset.my = 'Byron';


css選取器亦可藉此設定樣式
<style type="text/css">
    [data-age] {
        background-color: #0f0;
        width: 100px;
        margin: 20px;
    }
</style>

相關參考:





上面這些是介紹。
下面是在作業上遇上的狀況。

<table id = "mainTable" class="table table-bordered" data-TSID="#: TSID #">

再使用自定義屬性的時候使用了這樣的名稱。
然後再使用JS呼叫值的時候使用了這樣的語法

於是乎怎麼叫都是undifind.....
後來把它改成小寫呼叫也就是。
就可以順利的把值叫出來了...


所以這故事說....自定義屬性的呼叫只吃小寫。請各位小菜鳥要謹記這個坑...
為了避免這個問題在命名的時候盡量使用小寫吧...或許駝峰命名可以?

留言

這個網誌中的熱門文章

PS4觀看日本DMM影片的方法

過了死線了。 無聊來研究一下家裡的VR能幹點甚麼... 突然想說他好像可以看VR文藝片,就想說來搞個DMM來看。 基本上 本篇文章是跟著記憶打的,沒有太多的圖片。 懶人包。 PS4方: step1. 準備日帳。 step2. ps4登入日帳。 step3. 進入多媒體區下載DMM。 到此日帳的作用結束。可以切回台帳了。 這邊PS4端的作業會很魯洨建議大家在PC端進行。 PC方: 1.到DMM網站申請帳號。 2.加值點數。透過信用卡買。 一點等於一日幣。 3.安裝chrom VPN https://steachs.com/archives/11427 切換 日本IP觀看DMM 18 到VR區找喜歡的影片購買。 4.完成結帳 PS4方: 1.戴上VR眼鏡。 2. 打開DMM。 3.點選黃條撥放。 4.享受他! 明天有精力在寫詳細的操作步驟。 VR片真是夭壽讚.....

[台南]湖南牛肉麵

湖南牛肉麵。 想說網路的評語皆是"有著藥膳味的牛肉麵"。 興高采烈的以為終於可以找到一間媲美台中提督府牛肉麵的店家。 馬上驅車前往一吃究竟! 必須要題的是看到店家的第一眼,我就覺得這家店再不濟也不至於難吃。 馬上點了碗招牌的紅燒牛肉麵,順便切了盤魯味。 牛肉湯如上,是屬於半筋半肉,肉不至於煮到入口即化。 還算是有嚼勁,筋也煮軟,是塊合格的牛肉! 湯則是與我期待的濃厚湯頭差了一段距離, 算是溫和的湯頭。藥膳味道是不重...相較於提督府那種濃妝豔抹的奇行種。這裡的湯頂多像是上了濃妝風韻十足的大姊頭。 麵的話是扁麵,煮得恰好還留麵心。 雖然味道不差,可是離我還想再來的標準還差了一線。 倒是蹄花麵讓我很好奇,也許會因為想吃看看而來XD

手機直接撥電腦影片的方法

假日閒閒在家裡。 想說能不能黏死在床上補動畫。 用手機或者我的小surface來播我PC的片子。 為了讓自己所以努力了一下。 在這邊把方法記錄下來分享給廢人化的朋友們。 ------------------------------------------------------------------------------------------- 材料: PC 、 家中的環境有wifi、手機或者筆電等... 廢人端的軟體: 安卓系統app: ES檔案管理器,或者任何有支援瀏覽網路軟體功能的檔案管理工具。 ------------------------------------------------------------------------------------------ 教學開始。 步驟一、在你要共享(廢人端要看的)目錄上點選右鍵選擇內容。 步驟二、切換共用標籤,選擇共用。 步驟三、接著點選右側下拉選項,然後添加ereryone到下列的使用者中。最後選擇共用關閉畫面。 到這邊就完成共用了。 手機端如果使用同一個上網的網域應該可以在檢視『網路芳鄰』的地方看到資料夾。 下面是架構的示意圖。 當然如果你電腦是吃手機的4G上網,那手機就連的上了。 上面的圖示概略說給完全不懂的人了解的。 接下來。 不過你會發現要輸入密碼,而且有些人會發現很魯小。還會輸入錯誤... 反正是自己用而已,所以就乾脆把密碼驗證關掉吧!!! 關掉驗證密碼的方法如下。 點開我的電腦。 在網路的地方點右鍵選擇內容。 接著選擇變更進階共用設定。 點開原本收闔的所有網路。 會發現最下面就有共用的密碼保護設定了。 把它關閉就大功告成了。 下面我貼一下手機板的畫面。 我使用的是ES檔案瀏覽器 google play 載點在下面。 https://play.google.com/store/apps/details?id=com.estrongs.android.pop&hl=zh_TW 打開ES檔案瀏覽器之後打開左上角的選單。 接著將他往下拉到區域網路的地方。 點下去之後你就會看到你電腦的名稱。 沒有的話就代表你的手機上網的不是在同一個網域。 也...