Javascript JS,DOM。使用用户输入值从DOM中删除多个元素

Javascript JS,DOM。使用用户输入值从DOM中删除多个元素,javascript,dom,svg,removechild,Javascript,Dom,Svg,Removechild,下面的代码笔示例。有谁能简单地解释一下如何根据用户输入值(仅仅是一个整数)从DOM中删除大量元素。我有一条路径(SVG曲线)。用户指定到达路径终点的步数(点)。然后,在一些事件之后,ship将移动到终点(对于测试,我使用click event)。用户将为每个事件指定每次移动的步骤数(事件完成并开始移动)。通过移动,我想删除通道上留下的点 var trigger = window.addEventListener('click', function(){ var steps = parseInt(

下面的代码笔示例。有谁能简单地解释一下如何根据用户输入值(仅仅是一个整数)从DOM中删除大量元素。我有一条路径(SVG曲线)。用户指定到达路径终点的步数(点)。然后,在一些事件之后,ship将移动到终点(对于测试,我使用click event)。用户将为每个事件指定每次移动的步骤数(事件完成并开始移动)。通过移动,我想删除通道上留下的点

var trigger = window.addEventListener('click', function(){
var steps = parseInt(prompt("Select Number Of Steps Per Move "),10);
var positionVal = parseFloat(window.getComputedStyle(el,null).getPropertyValue("motion-offset"));
    el.animate([
        { motionOffset: positionVal + "%" },
        { motionOffset: positionVal + 100/(userValue - 1)*steps + "%" }
    ], 
    {duration: 5000,
     direction: 'alternate',
     fill: 'forwards',
     iterations: 1,
     easing: 'ease-in-out'
    });

function deleteThis () {
dotsArray.splice(positionVal, steps)
var dots = document.getElementsByClassName("dots");
    for (i=0;i<steps;i++) {
        dots[i].remove();
    }
}
window.setTimeout(deleteThis,3000);

});
var trigger=window.addEventListener('click',function(){
var steps=parseInt(提示(“选择每次移动的步数”),10);
var positionVal=parseFloat(window.getComputedStyle(el,null.getPropertyValue(“运动偏移”));
动画片([
{motionOffset:positionVal+“%”},
{motionOffset:positionVal+100/(userValue-1)*步数+“%”
], 
{持续时间:5 000,
方向:'交替',
填写:'向前',
迭代次数:1,
放松:“放松”
});
函数deleteThis(){
点阵列拼接(位置值,步数)
var dots=document.getElementsByClassName(“dots”);

对于(i=0;i如果要删除DOM元素:

    for (i=0;i<steps;i++) {
        dotsArray[0].remove();
        dotsArray.splice(0,1);
    }

(i=0;i的
for听起来像是在问如何从DOM中删除碰巧存储在数组中的元素

碰巧包含一些DOM元素的数组和DOM/元素本身是完全不相关的概念。处理DOM将没有本机数组方法,因为数组不是DOM概念,它们是JS的通用编程构造。它们可以包含DOM元素、字符串、数字、其他数组、对象,空对象,或上述所有对象的组合…或更多。数组中没有特定于DOM的内容…恰好是您插入到该数组中的内容

为此,您只需在数组中循环并删除元素。如果您要经常执行此操作,我建议您创建一个函数来执行此操作:

// removes the elements in the Array from the DOM, then removes them from the Array
function removeArrElemsFromDOM(arr, start, howMany)
{
    for (var i=start; i<start+howMany; i++)
        arr[i].parentNode.removeChild(arr[i]);

    arr.splice(start, howMany);
}
//从DOM中删除数组中的元素,然后从数组中删除它们
函数removeArrElemsFromDOM(arr、start、多少)
{

对于(var i=start;i选中。可能重复的只是用户指定的1个数字。我尝试过拼接…但由于缺乏知识和经验…对于我来说,拼接时会发生一些奇怪的事情,删除数组中的1、2、3个元素索引…而不是元素本身(我的意思是从页面上看,它们保持在页面上,但控制台说它们已从数组中删除…)正如我所预期的(点是SVG)。请添加示例输入,预期输出,因为不清楚。在这里,您询问删除几个元素,现在您说1number@geliokant数组和DOM是完全独立的对象。@Barmar谢谢!0=)不管怎么说,是否有可能一次从DOM中删除一个数字元素?)上帝保佑你!!!!!(!)))(我一直在努力寻找如何做到这一点(两天!))非常感谢!)正如我所说,我正在通过制作和示例来学习。如果你有时间,你能解释一下我做错了什么吗?(使用CSS运动路径,所以只在Chrome中工作…)这似乎是一个完全无关的问题。用正确的标签为它打开一个新问题。