Rails 4:选择具有动态生成id的DOM元素

时间:2015-11-20 06:09:57

标签: javascript jquery ruby-on-rails ruby-on-rails-4 dom

在我的Rails 4应用程序中,我的一个视图中有以下DOM结构:

<tr id="post_row_<%= post.id%>">
  [...] # Truncated for brivety
  <td class="cell_content_center post_approval_section">
    [...] # Truncated for brivety
  </td>
</tr>

我需要使用JavaScript更新td的内容。

为了选择它,我尝试了:

$('tr#post_row_<%= j post.id %> > td.post_approval_section').html('<%= j render(partial: "calendars/post_approval") %>');

但这给了我一个错误:

Failed to load resource: the server responded with a status of 500 (Internal Server Error)

如您所见,父id的{​​{1}}是动态生成的。

如何使用JavaScript选择它?

3 个答案:

答案 0 :(得分:2)

使用双引号(&#34;&#34;)代替单引号(&#39;&#39;),如: -

$("tr#post_row_<%= j post.id %> > td.post_approval_section")

答案 1 :(得分:0)

使用double&#34;和#{}表示法:

$("tr#post_row_#{post.id} td.post_approval_section")

答案 2 :(得分:0)

此代码段会找到tr,其中id =“post_row _ <%= j post.id %>”。然后在tr内,它会找到td,其中class =“post_approval_section”。

$("tr#post_row_<%= j post.id %>").find('td.post_approval_section');