2015-11-20 102 views
0

選擇DOM元素在我的Rails 4的應用程序,我有我的看法下列操作之一DOM結構:軌道4:動態生成的ID

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

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

爲了選擇它,我想:

$('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) 

正如你所看到的,父trid是動態生成的。

如何使用JavaScript選擇它?

+0

從哪裏選擇它?你怎麼知道你需要到達哪個小區? – dandavis

+0

請在發生錯誤500時提供服務器日誌 –

+0

您好想要更改從JavaScript函數(如onclick函數或doucument.ready函數)中tr的數據嗎? –

回答

2

使用雙引號(」「),而不是單引號(」「),如: -

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

感謝您的回答。我試過了,但似乎沒有選擇任何「td」。 –

0

使用雙 「和#{}符號:

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

感謝您的回答。我試過了,但似乎沒有選擇任何「td」。 –

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'); 
+1

請解釋你的代碼 – Chris

+0

這將找到ID爲「post_row _ <%= j post.id%>」的tr。然後在這個ID裏面找到帶有「post_approval_section」類的td。 – user3506853