我不确定这是可能的,但是......
假设我有以下对象:
var myData = { 1 : 1. 2 : 2 }
如何使用jQuery的.data方法将对象附加到以下url。
$('.link').html('<a href="#" data-test="' + myData + '">test</a>');
如果我将点击功能绑定到以下网址,我应该能够检索 myData
$('.link a').on('click', function(e) {
$(e.currentTarget).data('test');
})
但它没有用......我得到一个名为的字符串值:[“object Object”]
所以我想,在使用jQuery的.data方法发送它之前,我需要准备-myData-对象。
有什么想法吗?
答案 0 :(得分:2)
var myData = { '1' : 1, '2' : 2 };
var $anchor = $('<a />', {href:'#', text : 'test'}).data('test', myData);
$('.link').empty().append($anchor);
$('.link a').on('click', function(e) {
e.preventDefault();
console.log($(this).data('test'));
});
答案 1 :(得分:1)
由于您有数据对象,请不要将其设置为属性,请使用.data()setter设置test
的值
$('<a href="#">test</a>').appendTo($('.link').empty()).data('test', myData);
然后
$('.link a').on('click', function(e) {
var myData = $(this).data('test');
})