Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Rails 4:选择具有动态生成id的DOM元素_Javascript_Jquery_Ruby On Rails_Ruby On Rails 4_Dom - Fatal编程技术网

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

Javascript Rails 4:选择具有动态生成id的DOM元素,javascript,jquery,ruby-on-rails,ruby-on-rails-4,dom,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> 但这给了我一个错误: Faile

在我的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>
但这给了我一个错误:

Failed to load resource: the server responded with a status of 500 (Internal Server Error)
如您所见,父tr的id是动态生成的


如何使用JavaScript选择它?

使用双精度和{}符号:

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

使用双引号而不是单引号“”,如:-

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

此代码段将找到id为post\u row\u0的tr。然后在tr内部,它将找到class=post_approval_部分的td

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

从哪里选择?您如何知道需要访问哪个单元格?当发生错误500时,请从服务器提供日志。您想更改tr的数据,从哪个JavaScript函数(如onclick函数或on doucument.ready函数)中选择?ruby不会解析单引号,因此您的jquery看起来与您的代码完全相同,请参阅下面的解决方案。@dandavis我需要在id为“post\u row\u”的tr中选择带有类“post\u approval\u section”的“td”。每页只有一个。这就是你的意思吗?谢谢你的回答。我试过了,但它似乎没有选择任何td。谢谢你的回答。我试过了,但它似乎没有选择任何td。这将找到id为post\u row\u的tr。然后在带有该id的tr内找到带有类post_approval_部分的td。
$("tr#post_row_<%= j post.id %>").find('td.post_approval_section');