Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获得;必需的';javascript中通过DOM的div元素_Javascript_Html_Css - Fatal编程技术网

获得;必需的';javascript中通过DOM的div元素

获得;必需的';javascript中通过DOM的div元素,javascript,html,css,Javascript,Html,Css,我在一个向导中有4个div。在向导中单击“下一步”时,我想验证所需元素是否已填充 如果我写y=x[currentTab].getElementsByTagName(“输入”),该div的所有元素都会出现。但是在应用querySelectorAlly=x[currentTab].getElementsByTagName(“输入”).queryselectoral(“[required]”)按钮停止工作 x = document.getElementsByClassName("tab"); y =

我在一个向导中有4个div。在向导中单击“下一步”时,我想验证所需元素是否已填充

如果我写
y=x[currentTab].getElementsByTagName(“输入”)
,该div的所有元素都会出现。但是在应用querySelectorAll
y=x[currentTab].getElementsByTagName(“输入”).queryselectoral(“[required]”)按钮停止工作

x = document.getElementsByClassName("tab");

y = x[currentTab].getElementsByTagName("input").querySelectorAll("[required]");

这是因为
querySelector
queryselectoral
都属于儿童。使用
querySelectorAll('input[required]”)

这是因为
querySelector
querySelectorAll
都会转到子级。使用
querySelectorAll('input[required]”)

querySelector*和其他方法从诸如getElementsByClassName之类的调用中搜索返回的NodeList/HTMLCollection中的decents而不是元素。另外,NodeList和HTMLCollection没有像querySelector*这样的方法,因此像
getElementsByTagName().querySelectorAll()
这样的调用会引发错误如果您过去使用过jQuery,您可能会将这种语法体验与标准JavaScript语法混淆。jQuery在其9000行代码中添加了各种各样的功能,可以减轻编码任务的负担,但这些概念不会转移到该库之外。querySelector*和其他方法从诸如getElementsByClassName之类的调用中搜索返回的NodeList/HTMLCollection中的元素。另外,NodeList和HTMLCollection没有像querySelector*这样的方法,因此像
getElementsByTagName().querySelectorAll()
这样的调用会引发错误如果您过去使用过jQuery,您可能会将这种语法体验与标准JavaScript语法混淆。jQuery在其9000行代码中添加了各种功能,可以减轻编码任务的负担,但这些概念不会转移到该库之外。如前所述,我已经尝试使用querySelectorAll(x[currentTab].getElementsByTagName(“输入”).querySelectorAll(“必需”),但是数据来了,只要花10秒钟阅读人们写的东西,然后抱怨它不起作用
x[currentTab].getElementsByTagName(“输入”)
返回一个没有
querySelectorAll
方法的
NodeList
。另外,
querySelector*
搜索子节点,而不是当前节点。因此,由于输入没有[required]子级,即使通过浏览器实现,这也不会起作用。正如前面提到的,我已经尝试使用querySelectorAll(x[currentTab].getElementsByTagName(“输入”).querySelectorAll(“[required]”),但do数据只需10秒钟就可以读取人们编写的内容,然后再抱怨它不起作用
x[currentTab].getElementsByTagName(“输入”)
返回一个没有
querySelectorAll
方法的
NodeList
。另外,
querySelector*
搜索子节点,而不是当前节点。因此,由于没有[required]子输入,即使通过浏览器实现,这也不起作用。