【发布时间】:2015-10-17 12:42:40
【问题描述】:
我克隆了一行元素。克隆后,原始文本框元素被替换为链接。然后,如果用户选择删除克隆的项目,它会以原始形式返回到原始位置,即 tetxbox。这种倒车效果很好。只是没有删除克隆项目。
当点击删除时,克隆的项目被删除但不是全部。单击的链接的值附加到列表中克隆项目的下一个。为什么链接没有被删除?
下面忽略主题名称,重点关注带有RM开头的值的链接
移除之前点击的(克隆项目)
这就是我克隆的方式:
function getText(param)
{
var clony = $("div.clone_this#"+param).remove().clone(true, true).insertBefore("#sub");
var price = $("input[type=text].text_"+param).val();
// alert(price);
clony.find('input[type=text]').replaceWith("<a href='ch'><span class='green' style='font-style:italic;'>RM "+price+"</span></a>");
clony.find('.cr').append("<a href='del' onclick=removeThis('"+param+"')><img src='/register/cross.png'></a>");
}
这就是我删除元素并将其更改回原始形式的方式。
function removeThis(param)
{
event.preventDefault();
$("div.clone_this#"+param).detach().appendTo("#sub");
var price = $("a[href=ch]").text();
$("div.clone_this#"+param).find($("a[href=ch]").text(price)).replaceWith("<input type='text' onfocusout='getText("+param+")' class='text_"+param+"' val='"+price+"' placeholder='RM'>");
$("div.clone_this#"+param).find("a[href=del]").remove();
return false;
}
由 jquery 注入的 HTML(仅包装器)内容
<h2>Finally, choose your Course:</h2>
<div class="row">
<div class="small-12 medium-12 large-12 columns" class="choosen_subjects">
</div>
</div>
<div class="row">
<div class="small-12 medium-12 large-12 columns" id="sub">
<!--original list goes here-->
</div>
</div>
【问题讨论】:
-
能否提供 jsfiddle 或 HTML 代码的演示?
-
@IrvinDominin,我用 HTML 更新了我的帖子,但是内容是由 jQuery 附加的
-
@IrvinDominin,供您参考,如果我只使用 $("div.clone_this#"+param).detach().appendTo("#sub");没有这样的问题。只有当我使用它下面的代码行时,它才会附加上一个链接的值
标签: javascript jquery