问题标签 [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 投票
1 回答
53 浏览

javascript - React ANTD DatePicker HTMLCollection 在提取元素/值时不显示实时值

当我使用 ANTD DatePicker 并使用箭头转到下一个面板时。UI 更新,但我无法从 HTMLCollection 或 NodeList 中提取实时值。

第一次打开面板:

现在的问题是当我单击面板上的“下一步”箭头时 在此处输入图像描述

如果 HTMLCollection 已更新并且 UI 已更新并 siaplays '后来的'值,并且在我的代码中,我在尝试从中提取特定值之前和之后读取较新的值,这些值如何不存在?

任何帮助真的很感激!

0 投票
2 回答
949 浏览

javascript - 如何通过getElementByClassName或querySelector在javascript中设置选择值下拉列表而不使用id

我正在尝试在 javascript 中设置选择值下拉列表。我有如下下拉列表:

首先我尝试了getElementByClassName。我在stackoverflow中搜索了很多答案并应用了,但它不再起作用了。下面的代码就是其中之一。代码抛出错误,如undefined options. 我更改了选项而不是选项,但仍然无法正常工作。

我检查并应用了许多解决方案,如下面的解释: 通过类名设置元素的值,没有元素的 ID 如何使用 getElementsByClassName 确定所选下拉选项的值?

我还发现 queryselector 我尝试了以下不起作用的代码。

如何在没有 id 参数的 javascript 中设置选择值

拉加兹,

0 投票
1 回答
51 浏览

javascript - 根据值(姓名和姓氏)对 JavaScript 中的 2 个不同元素列表进行排序

我需要一些帮助。我有一个多维数组,其中包含一个长度为 2 ["name","surname"] 的子数组,它们都是第一个字母大写的字符串值。

请求是在窗口加载时显示数组的前 10 个元素。之后,我使用一个按钮,每次按下时加载 10 个以上的元素。此功能完美无缺。

我面临 2 个问题:-我有 2 个按钮,按姓名排序和按姓氏排序。你猜对了。如果按下“按名称排序”btn,则必须按名称对元素进行排序,如果按下“按姓氏排序”则相反。

以下功能运行良好。排序姓名和姓氏。问题是在对姓名进行排序时,姓氏应该跟随姓名到正确的位置。现在我可以对姓名和姓氏进行排序,结果是排序后有其他全名。

-第二个问题,如果我们修复第一个问题,如果我加载 10 个或更多元素(通过按“加载更多”btn),我将需要按 sort btn 对它们进行排序。我想我应该对初始数组进行排序,然后开始从排序列表中取出项目。但是如何使用 ["Name","Surname"] 的子数组对数组进行排序?先感谢您

0 投票
1 回答
290 浏览

angular - 类型“HTML 集合”必须有一个在指令中返回迭代器的“[Symbol.iterator]()”方法

我在指令中有一张显示错误代码的地图TS2488 Type 'HTML Collection' must have a '[Symbol.iterator]()' method that returns an iterator

我的地图:

我如何最好地处理这个问题?有什么建议给我吗?

0 投票
2 回答
56 浏览

javascript - forEach 在比较选项值和返回父 id 时返回 undefined

所以我想抓取所有<select>元素并抓取“国家”下拉菜单的 ID。

我有以下内容,将其推<selects>入 HTMLcollection 然后比较第一个选项,通常是“阿富汗”。如果为 true,则返回 parentName.id 的值

这就是理论,但我一直不确定。任何见解将不胜感激?

0 投票
1 回答
162 浏览

javascript - 循环遍历 HTMLCollection 时包装元素会导致问题

我想将容器的每个项目包装在一个 div 中。当我遍历 HTMLCollection 时,某些元素会被多次访问,而另一些则被忽略

HTML

JS

直接通过 HTMLCollection 循环给出了这个奇怪的结果

当我将 HTMLCollection 转换为数组时问题得到解决

我不明白是什么导致了这种行为

0 投票
1 回答
22 浏览

javascript - 当 HTML 集合应该是字符串时,它会通过 PHP 解析为 JavaScript

例如,我有一个用于创建字符串值资源的数据库

|拳击手|1|

|衬衫|2|

等然后我使用php用这个资源填充一个数组,例如

然后我通过 echo 和 .push() for 循环中的每个元素将数组解析为 JavaScript 数组

这个 JS 数组然后成为 JS 函数调用的参数。正如你在下面看到的。

问题是每个字符串元素(例如 Boxers、Shirts)都会被解析为 HTML 集合,而不仅仅是字符串。我想知道我能做些什么来避免这种行为?因为我只需要一个字符串元素的 JS 数组(根据示例为 4 个),仅此而已

0 投票
2 回答
119 浏览

javascript - 在 for-of 循​​环中使用 entries(),遍历 HTMLCollection

我知道在一个for-of循环中,可以使用该Array.entries()方法。正如概述的那样,这通常很好用 - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/entries

但是,如果我尝试执行以下操作:

我被告知:

我知道我可以使用一个很好的旧常规 for 循环......但是:

  • 为什么它不起作用?
  • 我是不是误会了什么?
  • 我可以让它按照我想要的方式工作(除了使用常规的 for 循环)吗?

我最好的猜测是 anHTMLCollection不是标准数组,因此没有这样的数字索引......

0 投票
1 回答
56 浏览

javascript - 在 getelementsbyclassname 中获取元素不起作用

在这里,我运行了以下代码,并使用了console.log()结果的注释。

虽然具有该类名称的元素正在异步呈现,但我认为这不是问题,因为第一个console.log()呈现预期结果。第二个没有。

0 投票
1 回答
279 浏览

javascript - 当父元素中存在元素时,HTMLCollection 显示长度 0

我正在使用苹果的 MapKit JS 将地图嵌入到网页中。我需要访问底层 HTML Shadow Dom 中的标记注释,我想为元素添加一个类名。使用浏览器开发工具,我可以“看到”shadow dom

Shadow Dom 结构

我使用以下代码“遍历”shadow dom:

运行此命令时,控制台日志显示 mapAnnotations 的childElementCount确实为 2,并且节点显示在 childNodes 和 children 属性中。但是,当读取子节点或子节点时,它显示没有子节点,并且变量annotationMarkers中生成的 HTMLCollection有两个元素,但长度为 0。

控制台输出显示带有子节点的父节点

显示日志消息的控制台输出

我见过几个类似的问题,答案似乎是 DOM 没有完全加载,尽管在记录父节点时这确实显示了子元素。

所以我的问题分为两部分,父元素是否知道它有 2 个子元素,但这些元素实际上并没有在那时加载,并且

其次,有没有办法在 shadowDom 上执行类似的 $(document).ready 函数调用?从而确保 shadowDom 中的所有元素(或父 mapAnnotations 节点的所有子元素)都已加载?

我已经在 shadowRoot 元素上尝试了一个 ready 函数,并附加了一个 eventListener 来监听 DomContentLeaded 事件,但这根本不会触发。

更新 30/09/2020 @ 20:30

我在 JS 中放了一个 setTimeout,超时完成后子节点计数现在显示为 2。我需要找到一种方法来等待 shadowDom 完成并等待元素存在:/