JavaScript:将多个类缓存为单个变量
是否有一种方法可以将多个类缓存为单个变量 例如,假设我有两个像这样的div:JavaScript:将多个类缓存为单个变量,javascript,caching,Javascript,Caching,是否有一种方法可以将多个类缓存为单个变量 例如,假设我有两个像这样的div: <div class="MYCLASS"></div> <div class="myclass"></div> var multipleclasses = document.querySelector("myclass" || "MYCLASS"); 或者语法是这样的: <div class="MYCLASS"></div> <div c
<div class="MYCLASS"></div>
<div class="myclass"></div>
var multipleclasses = document.querySelector("myclass" || "MYCLASS");
或者语法是这样的:
<div class="MYCLASS"></div>
<div class="myclass"></div>
var multipleclasses = document.querySelector("myclass" || "MYCLASS");
或者您必须单独缓存它们:
var multipleclasses = document.querySelector("MYCLASS");
var multipleclasses = document.querySelector("myclass");
最后,是否有一种方法可以选择一个不考虑字母大小写的类
var multipleclasses = document.querySelector("myclass"); // select any case??
注意-我想选择其中一个类,而不是两个
请不要jQuery您可以将它们缓存在一个数组中:
var multipleclasses = [
document.querySelector("MYCLASS"),
document.querySelector("myclass")
];
您可以将它们缓存在阵列中:
var multipleclasses = [
document.querySelector("MYCLASS"),
document.querySelector("myclass")
];
您可以将它们缓存在阵列中:
var multipleclasses = [
document.querySelector("MYCLASS"),
document.querySelector("myclass")
];
您可以将它们缓存在阵列中:
var multipleclasses = [
document.querySelector("MYCLASS"),
document.querySelector("myclass")
];
首先,需要使用
querySelectorAll
返回多个元素。其次,要匹配类名,必须使用前缀
;没有前缀的单词与标记名匹配
var multipleclasses = document.querySelectorAll(".myclass, .MYCLASS");
这是正确的
var multipleclasses = document.querySelectorAll(".myclass" || ".MYCLASS");
这将计算逻辑表达式“.myclass”| |“.myclass”
,并将其作为参数传递给文档.querySelectorAll
。所以它相当于:
var multipleClasses = document.querySelectorAll(".myclass");
如果您这样做:
var multipleclasses = document.querySelectorAll(".MYCLASS");
var multipleclasses = document.querySelectorAll(".myclass");
第二个赋值覆盖了变量,所以您只需要得到第二个赋值的结果
您可以将其作为两个单独的调用,并将结果连接到一个数组中:
var multipleclasses1 = Array.prototype.slice.call(document.querySelectorAll(".MYCLASS"));
var multipleclasses2 = Array.prototype.slice.call(document.querySelectorAll(".myclass"));
var multipleclasses = multipleclasses1.concat(multipleclasses2);
无法自动执行不区分大小写的类匹配。首先,您需要使用
querySelectorAll
返回多个元素。其次,要匹配类名,必须使用前缀
;没有前缀的单词与标记名匹配
var multipleclasses = document.querySelectorAll(".myclass, .MYCLASS");
这是正确的
var multipleclasses = document.querySelectorAll(".myclass" || ".MYCLASS");
这将计算逻辑表达式“.myclass”| |“.myclass”
,并将其作为参数传递给文档.querySelectorAll
。所以它相当于:
var multipleClasses = document.querySelectorAll(".myclass");
如果您这样做:
var multipleclasses = document.querySelectorAll(".MYCLASS");
var multipleclasses = document.querySelectorAll(".myclass");
第二个赋值覆盖了变量,所以您只需要得到第二个赋值的结果
您可以将其作为两个单独的调用,并将结果连接到一个数组中:
var multipleclasses1 = Array.prototype.slice.call(document.querySelectorAll(".MYCLASS"));
var multipleclasses2 = Array.prototype.slice.call(document.querySelectorAll(".myclass"));
var multipleclasses = multipleclasses1.concat(multipleclasses2);
无法自动执行不区分大小写的类匹配。首先,您需要使用
querySelectorAll
返回多个元素。其次,要匹配类名,必须使用前缀
;没有前缀的单词与标记名匹配
var multipleclasses = document.querySelectorAll(".myclass, .MYCLASS");
这是正确的
var multipleclasses = document.querySelectorAll(".myclass" || ".MYCLASS");
这将计算逻辑表达式“.myclass”| |“.myclass”
,并将其作为参数传递给文档.querySelectorAll
。所以它相当于:
var multipleClasses = document.querySelectorAll(".myclass");
如果您这样做:
var multipleclasses = document.querySelectorAll(".MYCLASS");
var multipleclasses = document.querySelectorAll(".myclass");
第二个赋值覆盖了变量,所以您只需要得到第二个赋值的结果
您可以将其作为两个单独的调用,并将结果连接到一个数组中:
var multipleclasses1 = Array.prototype.slice.call(document.querySelectorAll(".MYCLASS"));
var multipleclasses2 = Array.prototype.slice.call(document.querySelectorAll(".myclass"));
var multipleclasses = multipleclasses1.concat(multipleclasses2);
无法自动执行不区分大小写的类匹配。首先,您需要使用
querySelectorAll
返回多个元素。其次,要匹配类名,必须使用前缀
;没有前缀的单词与标记名匹配
var multipleclasses = document.querySelectorAll(".myclass, .MYCLASS");
这是正确的
var multipleclasses = document.querySelectorAll(".myclass" || ".MYCLASS");
这将计算逻辑表达式“.myclass”| |“.myclass”
,并将其作为参数传递给文档.querySelectorAll
。所以它相当于:
var multipleClasses = document.querySelectorAll(".myclass");
如果您这样做:
var multipleclasses = document.querySelectorAll(".MYCLASS");
var multipleclasses = document.querySelectorAll(".myclass");
第二个赋值覆盖了变量,所以您只需要得到第二个赋值的结果
您可以将其作为两个单独的调用,并将结果连接到一个数组中:
var multipleclasses1 = Array.prototype.slice.call(document.querySelectorAll(".MYCLASS"));
var multipleclasses2 = Array.prototype.slice.call(document.querySelectorAll(".myclass"));
var multipleclasses = multipleclasses1.concat(multipleclasses2);
无法自动执行不区分大小写的类匹配。使用
querySelectorAll
方法匹配多个元素。在查询语法中,在类名前面使用句点:
var multipleclasses = document.querySelectorAll(".myclass, .MYCLASS");
var multipleclasses = document.querySelector(".myclass, .MYCLASS");
演示:
如果只希望找到第一个元素,则querySelector
方法将使用正确的查询语法:
var multipleclasses = document.querySelectorAll(".myclass, .MYCLASS");
var multipleclasses = document.querySelector(".myclass, .MYCLASS");
使用
querySelectorAll
方法匹配多个元素。在查询语法中,在类名前面使用句点:
var multipleclasses = document.querySelectorAll(".myclass, .MYCLASS");
var multipleclasses = document.querySelector(".myclass, .MYCLASS");
演示:
如果只希望找到第一个元素,则querySelector
方法将使用正确的查询语法:
var multipleclasses = document.querySelectorAll(".myclass, .MYCLASS");
var multipleclasses = document.querySelector(".myclass, .MYCLASS");
使用
querySelectorAll
方法匹配多个元素。在查询语法中,在类名前面使用句点:
var multipleclasses = document.querySelectorAll(".myclass, .MYCLASS");
var multipleclasses = document.querySelector(".myclass, .MYCLASS");
演示:
如果只希望找到第一个元素,则querySelector
方法将使用正确的查询语法:
var multipleclasses = document.querySelectorAll(".myclass, .MYCLASS");
var multipleclasses = document.querySelector(".myclass, .MYCLASS");
使用
querySelectorAll
方法匹配多个元素。在查询语法中,在类名前面使用句点:
var multipleclasses = document.querySelectorAll(".myclass, .MYCLASS");
var multipleclasses = document.querySelector(".myclass, .MYCLASS");
演示:
如果只希望找到第一个元素,则querySelector
方法将使用正确的查询语法:
var multipleclasses = document.querySelectorAll(".myclass, .MYCLASS");
var multipleclasses = document.querySelector(".myclass, .MYCLASS");
这是同时存储它们还是其中一个?例如,如果“MYCLASS”不存在,但“MYCLASS”存在,它还会选择后者吗?这会产生一个二维数组(实际上是一个节点列表数组),因此他必须使用嵌套循环来迭代所有这些数组。可能不太理想。@Barmar不管他如何存储它,他都必须遍历集合。@user3143218如果
MYCLASS
不存在,querySelector
将返回null,数组将保持[null,]
@Barmar:querySelector
方法不返回节点列表。这是存储它们两个还是其中一个?例如,如果“MYCLASS”不存在,但“MYCLASS”存在,它还会选择后者吗?这会产生一个二维数组(实际上是一个节点列表数组),因此他必须使用嵌套循环来迭代所有这些数组。可能不太理想。@Barmar不管他如何存储它,他都必须遍历集合。@user3143218如果MYCLASS
不存在,querySelector
将返回null,数组将保持[null,]
@Barmar:querySelector
方法不返回节点列表。这是存储它们两个还是其中一个?例如,如果“MYCLASS”不存在,但“MYCLASS”存在,它还会选择后者吗?这会产生一个二维数组(实际上是一个节点列表数组),因此他必须使用嵌套循环来