通过jquery / ajax更新HTML5属性

时间:2011-04-06 07:17:56

标签: jquery ruby-on-rails html5

我在rails视图中有这个div,它呈现了一组用户:

<div id="users" data-current_page="<%=@users.current_page %>">
  <%= render @users %>
</div>

和这个jquery函数(用于在点击操作上加载更多用户)

$(document).ready(function() {
  var current_page = $("#users").attr("data-current_page")
  $("a.next").click(function() {
    var next_page = ++current_page
    $.get("/users.js?page=" + next_page)
    $("#users").attr("data-current_page").replaceWith(next_page) # this doesn't work
    return false;
  });
});

为了增加$(“#users”)。attr(“data-current_page”),我尝试了这个:

$("#users").attr("data-current_page").replaceWith(next_page)

也就是说,如果data-current_page在点击时设置为1,它将设置为2等...但它不起作用。是否可以通过jquery更新此html5属性?

感谢您的任何想法!

2 个答案:

答案 0 :(得分:2)

在jQuery中更改attribute的正确语法是

$('#users').attr('data-current_page', next_page);

答案 1 :(得分:1)

你应该检查jquery的文档,你要设置属性的语法是

$("your_selector").attr("attribute_name",new_value);

所以在你的情况下,它会是这样的:

$("#users").attr("data-current_page",++current_page);

你也应该小心使用++,因为你似乎每次点击都会增加两倍!

欢呼声