在Jquery中为新节点添加自定义数据属性不起作用

Mar*_*cka 5 javascript jquery

我尝试data在此代码中使用该方法(jQuery 1.7.1):

var q = '<div class="form-error-marker"></div>';
var t = $(q).data('message', message).insertAfter(el); 
Run Code Online (Sandbox Code Playgroud)

它不起作用.

请注意,这有效:

var t = $(q).attr('data-message', message).insertAfter(el);
Run Code Online (Sandbox Code Playgroud)

为什么第一个变体不起作用?

编辑:insertAfter正常工作,然后添加新的div el(这是我通过getElementById()函数得到的一个元素的实例;长话短说我有一个我扩展的库).

当我说'它不起作用'时,我的意思是不存储属性'data-message'.

Ada*_*kis 7

使用data类似设置此节点的任意数据; 它不会添加新data-属性.刚刚与添加属性attr功能,然后访问data

var q = $('<div class="form-error-marker"></div>').attr("data-message", message);
Run Code Online (Sandbox Code Playgroud)

现在像这样访问它:

var message = q.data("message");
Run Code Online (Sandbox Code Playgroud)

这是一个小提琴