簡體   English   中英

jQuery是否在內部將HTML5數據屬性鍵轉換為小寫?

[英]Does jQuery internally convert HTML5 data attribute keys to lowercase?

我試圖盡可能地將我的JavaScript編碼風格與我的Zend編碼風格相符合,這是使用camelCase。 因此,在我的HTML5數據屬性中,我將其命名為以下示例:

<button class="action" data-actionClass="user" data-actionMethod="delete" data-actionRequest="/user/delete/user-id/1" data-actionComplete="{reload:users}">Delete User #1</button>
<div id="users" data-reloadRequest="/user/index"> ... </div>

將Jquery用於操作的非常不引人注目的方式,但是當我調用$('。action')。data()時,屬性名稱將轉換為小寫。

有沒有解決方法呢?

我從不認為JavaScript變量應該包含破折號,我無法理解為什么jQuery在內部為我做這個? 或許它是HTML5?

如果你使用

data-action-method="delete"

然后你可以訪問該屬性

$('.action').data('actionMethod')

這是HTML5 DOM API的一部分

自定義數據屬性將轉換為DOMStringMap條目的鍵,並具有以下規則:

  • 刪除任何破折號(U + 002D);
  • 短划線(U + 002D)之后的任何字母,在刪除之前,都以其大寫對應方式設置。

首先,看看這部分 JQuery的源代碼,它假設你有小寫屬性。

其次,按照慣例,所有HTML5屬性都應該是小寫的,請參閱: http//www.htmlbasictutor.ca/html-tag-attributes.htm

最后,請注意,如果您堅持使用大寫,可能會遇到更多問題,請參閱Django:無法在HTML輸入元素中添加UPPERCASE屬性名稱

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM