簡體   English   中英

在Jquery中為新節點添加自定義數據屬性不起作用

[英]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.

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