Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.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 克隆的项目单击以返回原始形式,但不会';不要被移除_Javascript_Jquery - Fatal编程技术网

Javascript 克隆的项目单击以返回原始形式,但不会';不要被移除

Javascript 克隆的项目单击以返回原始形式,但不会';不要被移除,javascript,jquery,Javascript,Jquery,我克隆了一行元素。克隆后,原始textbox元素将替换为link。然后,如果用户选择删除克隆项目,它将以原始形式返回原始位置,即tetxbox。这个倒车很好用。只是克隆项目的删除没有发生 单击“删除”时,克隆的项目将被删除,但不会全部删除。单击的链接的值将附加到列表中下一个克隆项目中。为什么该链接未被删除? 下面忽略主题名称,并将重点放在包含以RM开头的值的链接上 删除前单击(克隆项目) 删除后单击(克隆项目) 我就是这样克隆的: function getText(param) { va

我克隆了一行元素。克隆后,原始textbox元素将替换为link。然后,如果用户选择删除克隆项目,它将以原始形式返回原始位置,即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>");

}
函数getText(param)
{
var clony=$(“div.clone_this#“+param).remove().clone(true,true).insertBefore(#sub”);
var price=$(“输入[type=text].text"+param.val();
//警报(价格);
clony.find('input[type=text]')。替换为(“”);
clony.find('.cr')。追加(“”);
}
这就是我如何删除并更改回元素的原始形式

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;
}
函数删除此(参数)
{
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)).replace为(“”);
$($div.clone_this#“+param).find($a[href=del]).remove();
返回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>
最后,选择您的课程:

最后,我自己找到了答案。$(this)的使用解决了我的问题

function removeThis(param)
{
     event.preventDefault(); 

     $("div.clone_this#"+param).detach().appendTo("#sub");
     var price = $("a[href=ch]").text();
     $(this).find($("#sub 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;
}
函数删除此(参数)
{
event.preventDefault();
$(“div.clone_this#“+param).detach().appendTo(#sub”);
var price=$(“a[href=ch]”)text();
$(this.find($(“#sub a[href=ch]”)text(price)).replacetwith(“”);
$($div.clone_this#“+param).find($a[href=del]).remove();
返回false;
}

你能提供一个关于JSFIDLE或HTML代码的演示吗?@IrvinDominin,我用HTML更新了我的帖子,但是内容附加了jQuery@IrvinDominin,仅供参考,如果我只使用$(“div.clone_this#“+param).detach().appendTo(“#sub”);没有这样的问题。只有当我使用它下面的代码行时,它才会被附加上prev-link的值