我尝试使用以下代码将data-attribute添加到类元素(.class):
$(".class").data("attribute") === "" ;
以及稍后的
$(".class").attr('data-sr','');
但那根本不起作用。 Option1根本不起作用,而option2仅适用于我的标签名称。 有什么问题,或者我没有使用好东西?
答案 0 :(得分:2)
使用jQuery的.data()正确分配和读取数据属性,如下所示:
// Assign a data attribute
$(selector).data('my-attr', 'test value');
// Read a data attribute
var value = $(selector).data('my-attr');
如果你想将数据属性添加到DOM本身,你可以使用jQuery的attr(),如下所示:
// Assign a data attribute - note the need to prefix it with "data-"
$(selector).attr('data-my-attr', 'test value');
// Read a data attribute - note the need to prefix it with "data-"
var value = $(selector).attr('data-my-attr');
示例:
$(function() {
// This value is stored in the jQuery cache object
$(".testclass").data('val', 'something1');
alert($(".testclass").data('val'));
// Alternatively, this value is stored on the DOM element itself
$(".testclass").attr('data-val', 'something2');
alert($(".testclass").attr('data-val'));
});
答案 1 :(得分:0)
就像.attr()
一样,你给出两个参数来改变数据:
$(".class").data("attribute", "value");
请注意,如果您使用.data
而非.attr
添加数据,则会将其内部存储在jQuery中,您不会将其视为DOM中的data-attribute
属性。 jQuery仅在您第一次阅读时使用data-attribute
属性作为值的初始来源。