Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.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:将多个类缓存为单个变量_Javascript_Caching - Fatal编程技术网

JavaScript:将多个类缓存为单个变量

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:

<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”存在,它还会选择后者吗?这会产生一个二维数组(实际上是一个节点列表数组),因此他必须使用嵌套循环来