0

我在替换表格的一行时遇到问题。我正在尝试删除该行,然后通过部分表格的导轨附加新行。新行被附加,但旧行不会被删除。如果未添加另一行,我可以删除该项目,但我相信当函数链接在一起时,它们会按照它们附加的顺序发生。原始行和替换行具有相同的 ID,这就是我认为的导致这个问题,但是应该在附加另一个之前删除一个,我确实认为会有问题。

$('#userList')
.remove('#user_<%= @new_user.id %>')
.append("<%=j render :partial=> 'user', :locals => {:user => @new_user, :current_user => @user} %>");
4

2 回答 2

1

jQuery 正在尝试从单个匹配元素 #userList 的集合中删除 #user_*。你只需要做

$('#user_<%= @new_user.id %>').remove();

小提琴示例:http: //jsfiddle.net/KMzCg/

于 2013-04-16T20:04:25.167 回答
0

您要删除的元素是 的子元素#userlist,而不是兄弟元素。你将不得不导航到它。

$('#userList').find('#user_<%= @new_user.id %>').remove()
    .end().append("<%=j render :partial=> 'user', :locals => {:user => @new_user, :current_user => @user} %>");

但是直接选择它会更有意义。

$('#user_<%= @new_user.id %>').remove();
$('#userList').append("<%=j render :partial=> 'user', :locals => {:user => @new_user, :current_user => @user} %>");
于 2013-04-16T20:04:39.723 回答