JQuery AJAX追加到附加元素

时间:2012-05-16 13:06:33

标签: ruby-on-rails ajax jquery append

我正在使用RoR和AJAX创建帖子。所以我需要能够通过以前的id添加“答案” 每次提交按钮时都会点击以下代码

$("<%= selector %>").append("<div id='<%= newanswer %>'><%= escape_javascript(render('answer_layout')) %></div>");

其中
selector看起来像#answer-12 newanswer将为#answer-13

第一次按建议工作,但是当我第二次单击提交时,我需要使用已附加的#answer-13 div来追加新#answer-14,但它不起作用。我理解该文档不知道第一个附加元素,但不知道如何解决此问题。谢谢你的帮助。

已更新 我使用编辑和销毁链接渲染新的answer,所以我不仅需要能够附加的功能,而且可以与添加的元素完全交互

3 个答案:

答案 0 :(得分:2)

您还可以为所有答案创建一个包装div,因为append会添加到当前所选元素的末尾。

所以$('#answer-div').append(etc.....

而不是$('#specific-answer').append(etc...

答案 1 :(得分:1)

将所有答案分类,然后选择最后一个:

$('.theClass:last').append("<div id='<%= newanswer %>'><%= escape_javascript(render('answer_layout')) %></div>");

或者使用它:

$('[id^="answer-"]:last').append("<div id='<%= newanswer %>'><%= escape_javascript(render('answer_layout')) %></div>");

<强>的jQuery( '[属性^ = “值”]')
attribute - 属性名称 value - 属性值。可以是不带引号的单个单词或带引号的字符串。

答案 2 :(得分:0)

我可以建议您可以在DOM中放置最新使用的ID:

var appendTo = $('#append-to');    
var appendToId = appendTo.attr('latest');
$( '#' + appendToId ).append("<div id='<%= newanswer %>'><%= escape_javascript(render('answer_layout')) %></div>");

appendTo.attr( 'latest', '<%= newanswer %>' );