使用用户输入值从 DOM 中删除几个元素
JS, DOM. Delete several elements from DOM using user intput value
下面的Codepen示例。任何人都可以解释如何根据用户输入值(只是一个整数)从 DOM 中删除许多元素吗?我有一条路径(SVG 曲线)。用户指定到达路径终点的步骤(点)数。然后船将在某个事件之后到达终点(为了测试我正在使用点击事件)。用户将为每个事件指定每次移动的步骤数(事件完成船开始移动)。通过移动,我想删除通行证上留下的点。
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);
});
代码笔示例
如果要
删除 DOM 元素:
for (i=0;i<steps;i++) {
dotsArray[0].remove();
dotsArray.splice(0,1);
}
听起来
你在问如何从 DOM 中删除元素,这些元素恰好存储在数组中。
恰好包含一些 DOM 元素的数组和 DOM/元素本身是完全不相关的概念。不会有原生的 Array 方法来处理 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);
}
你会使用removeArrElemsFromDOM(myArray, 0, 2);
从 DOM 中删除数组的前 2 个元素(然后也从数组中删除它们)。
JSFiddle 显示它正在工作
相关文章:
- 在几个元素上模拟onclick事件
- 如何更改与Backbone集合中的模型相关联的几个元素的css属性
- 如何在其他几个元素中选择锚点
- 缩短几个元素的onclick代码 - JavaScript
- “功能上”生成一个仅包含几个元素的列表
- 使用 jquery 为每几个随机元素添加类
- 使用用户输入值从 DOM 中删除几个元素
- 几个元素上的一个事件
- 获取存储在几个HTML元素中的数据
- html5视频元素有任何错误?它不会在几个小时后继续播放内容
- 如何检查几个元素中是否存在一个
- 选择所有DOM元素,直到出现几个DOM元素中的一个为止
- 将几个jqueryui元素相互绑定
- 敲除:绑定到同一可观察对象的几个 DOM 元素
- jquery获取指定了几个类的元素的特定类名
- 处理几个.一个在同一事件和元素
- 使用setTimeout在X秒后隐藏几个元素
- 从DIV JavaScript中的几个元素更改ID和NAME
- Wordpress将鼠标悬停在链接上,几个元素发生了变化
- 如何在对象中停止和重置几个动画元素?(几个独立的动画)