我有以下jquery点击事件
$(document).on('click', '.pagn', function(e) {
e.preventDefault();
var page = $(this).data('page');
var type = $(this).attr('id');
if(page>0 && type == 'prev') {
prev = page - 1;
next = page + 1;
} else if(type == 'next') {
next = page - 1;
prev = page + 1;
}
console.log(next);
$('#next').data('page', next);
$('#prev').data('page', prev);
})
这是我的HTML
<li><a id="prev" class="tools prev pagn" data-page='0'></a></li>
<li><a id="next" class="tools next pagn" data-page='2'></a></li>
在上面的代码中,我无法为id next和prev。
设置数据属性值如何解决它
答案 0 :(得分:0)
要设置data-*
属性,请使用attr
:
$('#next').attr('data-page', next);
$('#prev').attr('data-page', prev);
同样,如果你想读取属性(而不是jQuery的数据缓存),请在阅读时使用attr
:
var page = $(this).attr('data-page');
jQuery的data
功能让很多人感到困惑。它不管理data-*
属性。它的作用是管理与元素相关的数据,并从元素的任何data-*
属性初始化该数据。这是唯一的连接:data
字段的初始值来自data-*
属性(如果有)。 data
函数永远将写入data-*
属性。