Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.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 通过选择器getElementByClassName选择具有相同类的所有元素,该选择器无法按预期工作_Javascript - Fatal编程技术网

Javascript 通过选择器getElementByClassName选择具有相同类的所有元素,该选择器无法按预期工作

Javascript 通过选择器getElementByClassName选择具有相同类的所有元素,该选择器无法按预期工作,javascript,Javascript,我想通过选择器getElementByClassName选择具有相同类但不工作的所有元素 我第一次尝试不使用循环,但它不起作用 选择器类名不工作,我尝试了查询选择器all,但也不工作 getElementById是唯一与我一起工作的选择器,但它只选择第一个div var front=document.getElementsByClassName('face'); var back=document.getElementsByClassName('tail'); 对于(变量i=0;i{ cons

我想通过选择器getElementByClassName选择具有相同类但不工作的所有元素

我第一次尝试不使用循环,但它不起作用

选择器类名不工作,我尝试了查询选择器all,但也不工作

getElementById是唯一与我一起工作的选择器,但它只选择第一个div

var front=document.getElementsByClassName('face');
var back=document.getElementsByClassName('tail');
对于(变量i=0;i
我是头
我是尾巴
我是头
我是尾巴
我是头
我是尾巴
我是头
我是尾巴
我是头

我是尾巴
您要使用的是queryselectoral

var front=document.querySelectorAll('.face');
var back=document.queryselectoral('.tail');
front.forEach(f=>{
f、 addEventListener(“鼠标指针”,()=>{
console.log(“我是头”)
/*你的代码在这里*/
})
})
back.forEach(b=>{
b、 addEventListener(“鼠标指针”,()=>{
log(“我是一条尾巴”)
/*你的代码在这里*/
})
})
我是头
我是尾巴
我是头
我是尾巴
我是头
我是尾巴
我是头
我是尾巴
我是头

我是尾巴
您的代码需要一个
前端[I].onmouseinter=function(){
,因为您需要使用索引对它们进行寻址

不过,这并不是全部内容。当悬停在前面时,您可以使用elementSibling来获取后面

我在这里使用querySelectorAll,这就是为什么我在较旧的浏览器中需要使用[…]以使其易于使用。对于较新的浏览器,可以在集合中使用forEach

您可能需要重新考虑您的代码,因为当您隐藏时触发离开时,它会发出非常难看的抖动

[…document.querySelectorAll('.face')].forEach(函数(前端){
front.onmouseinter=函数(){
this.style.display='none';
this.nextElementSibling.style.display='block';
}
front.onmouseleave=函数(){
this.style.display='block';
this.nextElementSibling.style.display='block';
}
})
我是头
我是尾巴
我是头
我是尾巴
我是头
我是尾巴
我是头
我是尾巴
我是头

我是尾部
文档。GetElementsByCassName
返回HTMLCollection:

在for循环中,您需要在更新样式之前选择该集合中的每个项目。在这种情况下,循环中的
let
变量将
\u front
\u back
变量分配给每个项目:

const front=document.getElementsByClassName('face');
const back=document.getElementsByClassName('tail');
对于(变量i=0;i
我是头
我是尾巴
我是头
我是尾巴
我是头
我是尾巴
我是头
我是尾巴
我是头

我是尾巴
还没有working@yasserEltibiliYW.请看,你可能想告诉我,
做这里的重担…@mplungjan我编辑了我的帖子,希望能更好地解释