获得;必需的';javascript中通过DOM的div元素
我在一个向导中有4个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 =
y=x[currentTab].getElementsByTagName(“输入”)
,该div的所有元素都会出现。但是在应用querySelectorAlly=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]子输入,即使通过浏览器实现,这也不起作用。