Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.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
移动元素后如何使用jquery删除元素_Jquery - Fatal编程技术网

移动元素后如何使用jquery删除元素

移动元素后如何使用jquery删除元素,jquery,Jquery,我想动态地创建、删除div,它将在创建后四处移动 1) 这似乎在创建/删除后工作。如果只是重复执行创建/删除操作,“hello id”div不会出现在中。(可能不是…删除的项目将再次显示。请参阅步骤#2) //HTLM //Javascript $(“body”)。追加($(“hello”); $('#hello id')。删除() //创建/删除后的HTML。对“hello id”div已删除 //从。找不到。 2) 如果移动了“hello id”div,则此操作不起作用。一旦移动,它就不能

我想动态地创建、删除div,它将在创建后四处移动

1) 这似乎在创建/删除后工作。如果只是重复执行创建/删除操作,“hello id”div不会出现在中。(可能不是…删除的项目将再次显示。请参阅步骤#2)

//HTLM
//Javascript
$(“body”)。追加($(“hello”);
$('#hello id')。删除()
//创建/删除后的HTML。对“hello id”div已删除
//从。找不到。
2) 如果移动了“hello id”div,则此操作不起作用。一旦移动,它就不能被删除。此外,步骤#1中删除的项目将再次显示,显示次数取决于创建/删除周期

// HTLM
<body>
   <div id='insert1'>
      <div id='insert2'>
      </div>
   </div>
</body>

// Javascript
$("body").append($("<div id='hello-id'></div>"));
$('#hello-id').insertBefore($('#insert2'));
//$('hello-id').remove()

// HTML after. Assume #1 is performed with 1 cycle.  'hello-id' div 
// is removed from <body>. 
// 2 'hello-id' div show up. BUT, it should be 1!
<body>
   <div id='insert1'>
      <div id='hello-id'>
      </div>
      <div id='hello-id'>
      </div>
      <div id='insert2'>
      </div>
   </div>
</body>
//HTLM
//Javascript
$(“正文”)。追加($(“”);
$('#hello id').insertBefore($('#insert2');
//$('hello-id').remove()
//HTML之后。假设#1以1个周期执行。”你好,我是迪夫
//已从中删除。
//2个“你好id”分区出现。但是,它应该是1!
3) 执行删除。但是,还有1个

// Javascript
$('#hello-id').remove()

// HTML
<body>
   <div id='insert1'>
      <div id='hello-id'>
      </div>
      <div id='insert2'>
      </div>
   </div>
</body>
//Javascript
$('#hello id')。删除()
//HTML
我确信在步骤1中创建/删除是成对执行的。顺便说一下,在这个过程中,Jquery$('hello-id').show(),$('hello-id').hide()被执行


如果元素被移动,Jquery remove()函数有什么问题?

我已经试过你的代码,它工作正常。顺便说一句,您的示例在$('hello id')和$('insert2')中缺失,请查看您的问题是否在于此

$(“body”).append($(“Hello”);
$('#hello id').insertBefore($('#insert2');
$('#hello id')。删除()

好的,我想我现在有问题了

每次执行时:

$(“”);
jQuery将创建一个新元素,这样您将获得id=“hello id”的重复div

您需要将该元素保留在变量中并附加该变量,如下所示:

var divHello=$(“”);
//第一步
$(“正文”).append(divHello);
$('#hello id')。删除();
//步骤2
$(“正文”).append(divHello);
$('#hello id').insertBefore($('#insert2');
//再次执行步骤2(现在不应重复)
$(“正文”).append(divHello);
$('#hello id').insertBefore($('#insert2');
//步骤3(现在可以删除,因为只有一个div hello id)
$('#hello id')。删除();
这样(添加divHello变量而不是“$()”jQuery选择器),您就不会创建新的div“hello id”,它只会在html中“放置”和“移动”现有的div“hello id”


让我知道这是否解决了问题。

$('hello-id')
就像说:“jQuery去找到这个元素:
”,显然不是你的情况。你需要一个
:)我把我的问题中的$('hello-id')改为$('hello-id')。很抱歉。我从一个大的代码库中抽象出这个问题。我觉得很奇怪,为什么#1删除了“hello id”div,只要我插入(它将div移到了其他位置,我注意到插入了2个项目。1个项目可能是在#1创建/删除周期中执行的已删除项目。我正在使用jquery-1.12.4谢谢。我已将“hello id”更正为“hello id”。我很确定这不是原因。您可以先执行#1,然后执行#2。您的代码与原始序列不匹配。我的jquery是v1。12.4.可能太旧了。我的原始代码是:单击按钮1,“hello id”div被创建为隐藏在中;再次单击按钮1;删除“hello id”;再次单击按钮1;单击元素“insert2”,将“hello id”div移动到“insert2”div之前并显示“hello id”div。我在“insert2”前面找到2个“hello id”div。再次单击按钮1,您可以删除1个“hello id”出现“.2”hello id“是不正确的行为。尝试了v3.4.1。结果相同。你能发布你的代码吗?它是怎样的,带按钮的原始序列,等等,还是不带按钮的发布,但是一个你遇到相同问题的代码?这样我就能重现问题并测试它。我的意思是,你有3个代码示例,上面是我尝试的以下步骤重现问题,但正如您所说,我的代码是不同的,那么您能否提供一个独特的html和js来重现沙箱中的问题,如JSFIDLE等?
// Javascript
$('#hello-id').remove()

// HTML
<body>
   <div id='insert1'>
      <div id='hello-id'>
      </div>
      <div id='insert2'>
      </div>
   </div>
</body>