为什么!document.querySelectorAll不适用于多个ID

时间:2019-05-05 17:06:32

标签: javascript jquery

我目前可以使用此功能,但是我需要添加一个附加元素,因此我切换到SelectorAll,但是它不起作用

这正在工作

if(!document.getElementById('body_options_45')) {
//Do Stuff
}

当我添加第二个ID并切换到selectorALl时,它将停止工作

if(!document.querySelectorAll('#body_options_45, #body_options_113')) {
   //Do Stuff
}

我在这里想念什么?

2 个答案:

答案 0 :(得分:4)

querySelectorAll返回一个NodeList。您将需要像这样检查lengthif (!document.querySelectorAll('#body_options_45, #body_options_113').length)

答案 1 :(得分:0)

querySelectorAll()返回 NodeList NodeLists are not arrays,但是在这种情况下,行为是相同的:空数组和空NodeList都是truthy

![] //returns false
!emptyNodeList //returns false

要检查您的NodeList是否为空,请使用length属性:

if(document.querySelectorAll('#body_options_45, #body_options_113').length===0) {
   //do stuff
}