jquery - 如何在 jquery 中访问最近的 p 标签?

标签 jquery html ruby-on-rails ajax

我在使用 jquery 中的 .closest() 方法时遇到了问题。这是我遇到问题的 html 和 jquery 示例。

HTML ERB 片段

<% @posts.each do |post| %>
  <tbody>
    <tr>
      <td><%= post.title %></td>
      <td><%= post.description %></td>
      <td><%= post.episodeNum %></td>
      <td><%= post.highDef %></td>
      <td>
        <%= link_to 'Show', post, :class => 'btn btn-info' %>
        <%= link_to 'Edit', edit_post_path(post), :class => 'btn btn-primary' %>
        <%= link_to 'Destroy', post, :class => 'btn btn-danger', confirm: 'Are you sure?', method: :delete %>
      </td>
      <td>
        <b>Votes: </b>
        <p class="current_vote"><font color=#1C1C1C>
          <%= post.upvotes.size - post.downvotes.size %>
        </p></font>
        <button type="button" class="buttonUp btn" id="<%= post.id %>">Increase Vote</button>
        <button type="button" class="buttonDown btn" id="<%= post.id %>">Decrease Vote</button>
      </td>
    </tr>
  <% end %>

JQuery 片段

$(document).ready(function() {
    $('.buttonUp').bind('click', function() {
        $.ajax({
            type: "POST",
            url: "/posts/increaseVote?id=" + $(this).attr("id"),
            contentType: 'application/json; charset=utf-8',
            dataType: 'json',
            success: function(data) {
                $(this).closest('p').text(data);
            }
        });
    });
    $('.buttonDown').bind('click', function() {
        $.ajax({
            type: "POST",
            url: "/posts/decreaseVote?id=" + $(this).attr("id"),
            contentType: 'application/json; charset=utf-8',
            dataType: 'json',
            success: function(data) {
                $(this).closest('p').text(data);
            }
        });
    });
});

另外,我正确地接收了我的 json,在我的测试中,我的 json 数据回调只包含一个整数。

最佳答案

如果p是元素的祖先使用.closest();

如果 p 是元素的兄弟元素,使用 .siblings();

 $(this).closest('p').text(data);

 $(this).siblings('p').text(data);

关于jquery - 如何在 jquery 中访问最近的 p 标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12786263/

相关文章:

ruby-on-rails - 用于 ListView 的Rails Admin Eager加载关系

javascript - 用灰色覆盖整个 html 页面以指示临时禁用

javascript - 尝试替换按钮的链接,适用于除 Safari 之外的所有浏览器吗?

ruby-on-rails - 删除回形针引发的不必要错误 - 'identify' 命令无法识别文件名

javascript - 如何读取 js-year-calendar 库(无法读取 null 的属性 'classList')

javascript - 使用单选按钮显示/隐藏嵌套的 div

ruby-on-rails - 为 Rails 应用程序创建 Rdoc

javascript - 如何在 jQuery 中访问当前 DOM 对象(改进代码)

javascript - 如何循环访问以下 json 列表?

javascript - Jquery Mobile 对话框关闭无法正常工作