问题标签 [htmlcollection]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
747 浏览

javascript - 如何在 javascript 中克隆 DOM SVG 元素?

我想将多个 HTMLCollection 存储在一个数组中,但我不希望它们是动态的。

现在,在我的数组history中,mysvg是一个动态的 HTML 集合。即使我打电话的时候不同,history[0]也会一样history[1]saveToHistory() history[0]history[1]

mysvg我认为在推入之前制作一个副本history是解决这个问题的方法......但我该怎么做呢?

0 投票
2 回答
468 浏览

javascript - for循环中HTML集合的事件监听器和闭包

代码是

控制台输出是

并且单击功能的事件处理程序不起作用。我试过在闭包中隔离处理程序,如下所示:

但输出仍然相同。所以有两个问题:

1)如果我没有调用该函数,为什么控制台输出包含七个处理程序调用的结果,只是将其设置为处理程序?

2) 如何在 HTML 集合的“for”循环中设置处理程序?

0 投票
3 回答
192 浏览

javascript - 遍历 HTMLcollection 以在构造函数中动态定义值?

我会直接进入描述和示例代码,因为我敢打赌,你们中的许多人都和我一样对标题感到困惑(尽我所能)。

情况:我有一个表单,它使用构造函数将输入数据提交给对象的新实例。

当前代码:

问题:将数组作为参数传递并手动分配每个索引对我来说感觉非常脆弱。如果我要扩展表单的数据收集,我将不得不手动将每个新值分配为单独的变量。如果您要遍历数组并动态地将值分配给构造函数中的变量,那么语法或模式是什么?先感谢您。非常感谢任何和所有帮助。

所需代码示例

0 投票
1 回答
224 浏览

javascript - 为什么 htmlCollection 不从数组继承

为什么 htmlCollection 不从数组继承?我知道 htmlCollection 是一个实时集合,而不是一个快照数组,但它不能仍然从数组继承吗?

有一种将 htmlCollection 转换为 array的明显方法,但这就是转换它。默认情况下并非如此。

更新

这是关于以下评论:

可能重复的HTMLCollection 是一个数组吗?–@winhowes

正如评论中所解释的,这两个问题大相径庭。另一个问题解释了两者之间的区别,我也在上面的问题中写道。我的问题是,为什么 JavaScript 的默认 htmlCollection 不从数组继承。

这两个问题的区别在于,另一个问题是“有什么区别”,我的问题是“为什么有区别”。

0 投票
6 回答
16327 浏览

javascript - 如何从 HTMLCollection 中删除项目?

我有一些 Javascript 代码可以从 HTMLCollection 中删除一个项目,如下面的代码所示。调用 splice 时出现错误消息:allInputs.splice is not a function. 如果元素类型不是按钮类型,我需要从 HTMLCollection 中删除项目。

问题:我如何从这样的集合中删除一个项目?

我可以将未删除的项目转移到一个数组中,然后我可以使用该数组而不是原始的 HTMLCollection,但不确定是否还有其他更短的方法可以做到这一点。

JavaScript 代码

0 投票
2 回答
408 浏览

javascript - 干燥 htmlCollection 到 Array 调用

我有一个当前正在使用.getElementBy...JavaScript 中的 DOM 调用的函数。

使用代码的函数中还有许多其他 if 语句:

或者

理想情况下,我想干掉重复的:

但我无法在if语句之前定义它,因为尚未填充元素。因此,它尝试在空数组和错误上运行代码。

有什么建议么?

0 投票
1 回答
11068 浏览

javascript - element.children 的 console.log 显示长度为 0,但稍后展开时包含三个条目

在我的 JavaScript 中,我有两个元素。

我已经记录了这两个元素,它显示了以下内容:

元素 1:

在此处输入图像描述

要素 2:

在此处输入图像描述

问题是:

  • 当我console.log是每个元素的子元素 ( element.children) 时,它显然会返回一个元素列表。
  • 但奇怪的是,一个元素是空的(长度为 0),但一旦展开就有 3 个元素(长度为 3)。

如果您阅读以下元素子项的日志,您就会明白我在说什么......

元素 1(此元素按预期工作):

在此处输入图像描述

元素 2(有问题的元素):

在此处输入图像描述

有谁知道这里发生了什么?孩子的数量怎么会有相互矛盾的报道?

我该如何解决?我需要遍历孩子,但它不会让我因为长度显然是 0。

提前致谢!所有帮助表示赞赏。

0 投票
1 回答
156 浏览

javascript - 实时和静态节点列表

好的,所以我在玩静态|| 实时节点列表,试图测试这个概念,我尝试了不同的场景,但有两个场景引起了我的注意:

这是有道理的,因为 getElementsBy... 是一个活动节点集合,因此在更新后再次请求该值时,它显然会返回更新后的值。

但是第二个场景有一个小的变化,使“实时”节点列表成为一个静态的:

所以我的问题是:为什么为表示活动节点列表的长度属性而创建的变量没有返回活动值,因为变量的值直接表示节点列表而不添加属性。

我试图尽可能准确地描述事物。提前致谢。感谢您花在上面的时间。

0 投票
1 回答
2383 浏览

javascript - 使用 for-of 循​​环迭代 HTMLCollection 对象

我正在使用babel-polyfill,我正在尝试HTMLCollection使用 for-of 循​​环迭代一个对象:

它不工作。我收到一个错误elements[Symbol.iterator] is not a function。如何使其正常工作?

0 投票
2 回答
903 浏览

javascript - JavaScript:有没有办法自动初始化实时集合中的元素?

考虑以下示例

问题

  • 新添加到 DOM 中的元素会被示例构造函数初始化吗?
  • 如果没有,有没有办法在没有 jQuery 的情况下做到这一点,并且没有在间隔的基础上循环遍历集合?

笔记

需要的解决方案是针对 IE8+