【问题标题】:How to select this div element from js.erb view如何从 js.erb 视图中选择这个 div 元素
【发布时间】:2020-01-16 14:43:15
【问题描述】:

我正在维护一个 ajax 请求,以在页面加载时获取所有评级。此渲染是在 rails 的 js.erb 视图中完成的。我想编辑 div 的数据速率值,但我不能同时选择它的类和 id。如何从 rails js.erb 视图中选择此 div 并更改此属性?

       <div class="col-sm-6 col-md-3">
           <div class="thumbnail">
               <div class="rating" id="<%= movie.id %>" data-rate-value=0></div>
               <%= link_to (image_tag movie.image.url(:medium), class: 'image'), user_movie_path(movie.user, movie) %>
               <% if movie.user == current_user %>
                   <br>
                   <%= link_to 'Edit', edit_user_movie_path(movie.user, movie), class: 'btn btn-primary' %>
                   <%= link_to "Remove", user_movie_path(movie.user, movie), method: :delete, data: { confirm: "You Sure?" }, class: 'btn btn-primary' %>
               <% end %>
           </div>
        </div>
   <% end %>

This is my faulty solution

@ratings.each do |rating| %>
   $(".rating#<%= rating.movie.id %>").attr("data-rate-value", "<%= rating.score %>");
<% end %>

【问题讨论】:

  • I cannot select it with the class and id at the same time 这是什么意思?你看到任何错误吗?您是否在浏览器控制台上手动尝试过选择器?仅使用数字作为元素的 ID 听起来并不好,很容易错误地让多个元素具有相同的 ID。使用 movie_#{movie.id} 之类的东西作为元素的 id。

标签: jquery html css ruby-on-rails ajax


【解决方案1】:

你应该像这样定义你的 div id:

<div class="rating" id="rating_movie_<%= movie.id %>" data-rate-value=0></div>

并调用选择器

$("#rating_movie_#<%= rating.movie.id %>").attr("data-rate-value", "<%= rating.score %>");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-12
    • 2021-11-08
    • 2018-04-02
    • 2021-07-03
    • 1970-01-01
    • 1970-01-01
    • 2019-11-12
    相关资源
    最近更新 更多