【问题标题】:Update an HTML5 attribute through jquery/ajax通过 jquery/ajax 更新 HTML5 属性
【发布时间】:2011-04-06 07:17:55
【问题描述】:

我的 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 属性?

感谢您的任何想法!

【问题讨论】:

    标签: jquery ruby-on-rails html


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      您应该查看 jquery 的文档,您正在寻找设置属性的语法是

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

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

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

      您还应该小心使用 ++,因为您似乎每次点击都会将其递增两次!

      干杯

      【讨论】:

      • 感谢您的建议,我正在调查此问题
      • 不客气,我建议在使用 JS 时使用带有 JS 控制台的浏览器并在其中测试您的代码(我真的很喜欢 chrome 和它的开发者工具)。
      猜你喜欢
      • 1970-01-01
      • 2011-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多