如果你把一個‘數據 - ’屬性的元素:jQuery的駝峯映射「數據()」鍵
<div id='x' data-key='value'>
然後你就可以用價值jQuery的「數據()」方法:
alert($('#x').data('key')); // alerts "value"
庫使用屬性名稱一致的駱駝情況下轉換器的嵌入式破折號:
<div id='x' data-hello-world="hi">
alert($('#x').data("helloWorld"));
駱駝 - 案例轉換器是一個jQuery的「全球性」的功能:
alert($.camelCase("hello-world")); // alerts "helloWorld"
然而這一切都發生故障時的屬性名稱有一個名字與一個單個字母破折號包圍:
<div id='x' data-image-x-offset='50px'>
alert($('#x').data('imageXOffset')); // undefined
這是一個有點古怪,因爲:
alert($.camelCase('image-x-offset')); // "imageXOffset"
那麼,怎麼了?我認爲這與用於執行其他方向的機制有關,將已經駱駝大小寫的名稱轉換回虛線形式。但是我無法在代碼中找到它。
似乎在1.6.2中與1.6.3中一樣。 (形式爲「圖像x偏移量」可以用來獲取數據,順便說一句。)
編輯 —如果對於一個給定的元素,通過虛線形式之前訪問企圖的駱駝 - 它的作品(並告訴我,這絕對是一個bug :-)
jQuery bug報告在這裏:http://bugs.jquery.com/ticket/10194(由@Pointy提交) –
jsFiddle for you:http://jsfiddle.net/hJDLY/1/。整潔,它看起來像OP做錯誤報告!:-P – numbers1311407
謝謝大家!這吃了我的早上:/ – Pointy