我尝试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'.
使用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)
这是一个小提琴