Javascript getElementsByClassName返回数组,但某些成员未定义
我使用Javascript getElementsByClassName返回数组,但某些成员未定义,javascript,arrays,Javascript,Arrays,我使用document.getElementsByClassName('pattern-checkbox')在这里获取patterns数组 有没有建议为什么有些元素是未定义的?例如,我可以看到DOM中存在25模式复选框 我能想到的唯一不寻常的事情是,这些输入字段不可见,而是在搜索时关闭的下拉菜单的一部分。这是MS Edge browser调试器控制台中的一个错误。Chrome的结果不同。您的GetElementsByCassName将返回文档/页面中的所有元素-可见或不可见。如果页面中有未定
document.getElementsByClassName('pattern-checkbox')
在这里获取patterns
数组
有没有建议为什么有些元素是未定义的?例如,我可以看到DOM中存在25模式复选框
我能想到的唯一不寻常的事情是,这些
输入
字段不可见,而是在搜索时关闭的下拉菜单的一部分。这是MS Edge browser调试器控制台中的一个错误。Chrome的结果不同。您的GetElementsByCassName将返回文档/页面中的所有元素-可见或不可见。如果页面中有未定义的元素,您可以过滤掉未定义的元素,或者通过首先获取特定元素进行搜索来定位特定区域。谢谢,@JoshAdams。我知道我可以限制范围,或者检查未定义的元素,但是我试图理解现有dom元素是如何未定义的,比如我上面的25 pattern checkbox
。这被列为未定义的,但它肯定是我需要检查的字段之一。啊,很抱歉!您什么时候执行脚本?您是否在等待dom首先完全加载?看起来输入标签没有设置值?是的,Chrome中的结果不同!稍后我将添加一个答案。元素并不是真正未定义的,请注意,它显示了它们的ID。这显然只是一个控制台故障。