Javascript 如何检查不存在的类?(getElementsByClassName)
此代码段返回 [对象HTMLCollection] 其长度为0Javascript 如何检查不存在的类?(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
这是在使用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
属性和访问数组的属性之间可能存在差异。只是说说而已。