[英]Adding custom data attribute for a new node in Jquery does not work
我嘗試在此代碼中使用方法data
(jQuery 1.7.1):
var q = '<div class="form-error-marker"></div>';
var t = $(q).data('message', message).insertAfter(el);
它不起作用。
請注意,這有效:
var t = $(q).attr('data-message', message).insertAfter(el);
為什么第一個變體不起作用?
編輯: insertAfter
正常工作,並在el
之后添加新div(這是我通過getElementById()
函數得到的一個元素的實例;長話短說明我有一個我擴展的庫)。
當我說'它不起作用'時,我的意思是不存儲屬性'data-message'。
使用data
等,設置該節點的數據的任意片; 它不會添加新的data-
屬性。 只需使用attr
函數添加屬性,然后使用data
訪問它
var q = $('<div class="form-error-marker"></div>').attr("data-message", message);
現在像這樣訪問它:
var message = q.data("message");
這是一個小提琴
當您使用jQuery.data
您不會更改元素屬性,而是保存在$.cache
數據。 因此,如果要更改元素屬性,請使用jQuery.attr
,當您要保存一些信息時,請使用jQuery.data
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.