Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.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 如何在执行append()之后删除元素_Javascript_Snap.svg - Fatal编程技术网

Javascript 如何在执行append()之后删除元素

Javascript 如何在执行append()之后删除元素,javascript,snap.svg,Javascript,Snap.svg,我正在使用,我在文档中看到有一种方法可以附加()和删除()元素,但我不清楚如何使其适应我的代码 _placeBet = () => { const tipChipSnap = snap('#chip-bet'); const tipChipSvgContent = Snap.parse(this.props.chipSelectedSvg.content); tipChipSnap.append(tipChipSvgContent); } append()方法按预期工作,我只

我正在使用,我在文档中看到有一种方法可以附加()和删除()元素,但我不清楚如何使其适应我的代码

_placeBet = () => {
  const tipChipSnap = snap('#chip-bet');
  const tipChipSvgContent = Snap.parse(this.props.chipSelectedSvg.content);
  tipChipSnap.append(tipChipSvgContent);
}
append()
方法按预期工作,我只需要知道如何使用remove()

我需要删除append it元素的原因是,在某个时候,DOM中会有100多个相同的元素,我希望避免这种情况。假设您先执行
\u placeBet()
,然后执行
tipChipSnap.append(tipChipSvgContent)是在添加新元素时被激发的,我需要每次添加新元素时,删除最后一个元素,只保留新元素


那么,您的建议是什么?

您可以保存当前保存的元素,以便下次调用函数时将其删除。例如:

let previous;
_placeBet = () => {
  const tipChipSnap = snap('#chip-bet');
  const tipChipSvgContent = Snap.parse(this.props.chipSelectedSvg.content);
  tipChipSnap.append(tipChipSvgContent);

  if (previous) previous.remove();
  previous = tipChipSvgContent;
}

使用这种方法,我只能添加第一个元素,但当我尝试添加第二个元素时,这不起作用。你能将完整的代码粘贴到其中,让我看看吗?@NietzscheProgrammer抱歉,伙计。那是个打字错误。正如我的回答所说,变量
tipChipSvgContent
应该保存到
previous
变量中,而不是保存到
tipChipSnap
中。我已经编辑了我的答案,现在应该可以了进入
if
?@NietzscheProgrammer否,
if
只是第一次,因为没有以前的代码。