Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.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 如何检查不存在的类?(getElementsByClassName)_Javascript - Fatal编程技术网

Javascript 如何检查不存在的类?(getElementsByClassName)

Javascript 如何检查不存在的类?(getElementsByClassName),javascript,Javascript,此代码段返回 [对象HTMLCollection] 其长度为0 这是在使用getElementsByClassName时检查不存在的类的最佳方法,即只检查长度为0吗?是。检查返回集合的length属性 由于0是错误的,因此可以执行以下操作: arr = document.getElementsByClassName(type2); // suppose type2 is not available in the dom - class = "some_class" // check for

此代码段返回

[对象HTMLCollection]

其长度为0


这是在使用getElementsByClassName时检查不存在的类的最佳方法,即只检查长度为0吗?

是。检查返回集合的
length
属性


由于
0
是错误的,因此可以执行以下操作:

arr = document.getElementsByClassName(type2);  // suppose type2 is not available in the dom - class = "some_class"
// check for empty

对。检查返回集合的
length
属性


由于
0
是错误的,因此可以执行以下操作:

arr = document.getElementsByClassName(type2);  // suppose type2 is not available in the dom - class = "some_class"
// check for empty


您的意思是变量
type2
未定义吗?或者您的意思是传递字符串
'type2'
,并且该类中根本没有元素?为什么您担心检查
。长度===0
不是最佳的?我认为
!length
length==0
更有效?一个可能值得测试的选项是使用
querySelector
而不是
getElementsByClassName
querySelector
方法返回找到的第一个结果,如果没有找到,则返回
null
document.querySelector(“.myclass”)==null
加上它为您提供IE8支持,其中不支持
gEBCN
。请记住,
gEBCN
返回一个“活动”节点列表,这使得访问
.length
的成本更高。这也具有更好的兼容性。IE8为那些关心它的人提供支持-您的意思是变量
type2
未定义吗?或者您的意思是传递字符串
'type2'
,并且该类中根本没有元素?为什么您担心检查
。长度===0
不是最佳的?我认为
!length
length==0
更有效?一个可能值得测试的选项是使用
querySelector
而不是
getElementsByClassName
querySelector
方法返回找到的第一个结果,如果没有找到,则返回
null
document.querySelector(“.myclass”)==null
加上它为您提供IE8支持,其中不支持
gEBCN
。请记住,
gEBCN
返回一个“活动”节点列表,这使得访问
.length
的成本更高。这也具有更好的兼容性。IE8为那些关心它的人提供支持-我认为
!长度
length==0
?@hiroprotation-。@hiroprotation-他在问你这个问题。为什么您认为它不是最佳的?您不需要在性能中执行dom拉动来运行该测试……这是多余的……离题了though@HiroProtagonist-为什么?访问节点列表的
length
属性和访问数组的属性之间可能存在差异。只是说说而已。我想是
!长度
length==0
?@hiroprotation-。@hiroprotation-他在问你这个问题。为什么您认为它不是最佳的?您不需要在性能中执行dom拉动来运行该测试……这是多余的……离题了though@HiroProtagonist-为什么?访问节点列表的
length
属性和访问数组的属性之间可能存在差异。只是说说而已。