Javascript 按类获取元素,以类名为目标的页面上的所有元素
我试图展示管道中的不同项目阶段。当用户将鼠标悬停在管道的每个阶段上时,该阶段内项目上的边框颜色将更改以高亮显示它们。很简单 我似乎无法针对该页面上类中的所有项,它只允许我使用[0]针对其中一项。但我需要它来获取该类中的所有div,而不仅仅是1个。似乎是一个简单的解决办法,但我似乎找不到任何关于这一点Javascript 按类获取元素,以类名为目标的页面上的所有元素,javascript,css,class,getelementsbyclassname,Javascript,Css,Class,Getelementsbyclassname,我试图展示管道中的不同项目阶段。当用户将鼠标悬停在管道的每个阶段上时,该阶段内项目上的边框颜色将更改以高亮显示它们。很简单 我似乎无法针对该页面上类中的所有项,它只允许我使用[0]针对其中一项。但我需要它来获取该类中的所有div,而不仅仅是1个。似乎是一个简单的解决办法,但我似乎找不到任何关于这一点 <script> function scanSHOW() { document.getElementsByClassName('scan-item')[0].style
<script>
function scanSHOW() {
document.getElementsByClassName('scan-item')[0].style.border="2px #FF0000 solid";}
function scanHIDE() {
document.getElementsByClassName('scan-item')[0].style.border="2px #666666 solid";}
</script>
<style>.scan-item {border: 2px #666666 solid;}</style>
函数scanSHOW(){
document.getElementsByClassName('scan-item')[0].style.border=“2px#FF0000 solid”}
函数scanHIDE(){
document.getElementsByClassName('scan-item')[0].style.border=“2px#666666 solid”}
.扫描项目{边框:2px#666666实心;}
HTML:
这正是循环的用途。一个简单的for
循环依次遍历每个元素就可以实现这一点。比如:
var elements = document.getElementsByClassName('scan-item');
for (var i = 0; i < elements.length; i++) {
elements[i].style.border="2px #FF0000 solid";
}
var elements=document.getElementsByClassName('scan-item');
对于(var i=0;i
这正是循环的用途。一个简单的for
循环依次遍历每个元素就可以实现这一点。比如:
var elements = document.getElementsByClassName('scan-item');
for (var i = 0; i < elements.length; i++) {
elements[i].style.border="2px #FF0000 solid";
}
var elements=document.getElementsByClassName('scan-item');
对于(var i=0;i
我发现最简单的方法是在全身设置一个点击监听器,然后用某个类来监听点击。这样,您就可以遍历单击对象的dom,然后执行所需的任何操作
function clickHandler(e){
e = e || window.event;
const target = e.target || e.srcElement;
if (target.className.match(/CLASS NAME HERE/)) {
//do something with the target (traverse up or down - change the element or whatever have you)
console.log(e.target)
}
}
if (document.body.addEventListener){
document.body.addEventListener('click', clickHandler, false);
}
Ps!如果您执行for循环,那么我通常会在稍后遇到问题。这是最可靠的(至少对我来说是如此)。我发现最简单的方法是在全身设置一个单击侦听器,然后使用某个类侦听单击。这样,您就可以遍历单击对象的dom,然后执行所需的任何操作
function clickHandler(e){
e = e || window.event;
const target = e.target || e.srcElement;
if (target.className.match(/CLASS NAME HERE/)) {
//do something with the target (traverse up or down - change the element or whatever have you)
console.log(e.target)
}
}
if (document.body.addEventListener){
document.body.addEventListener('click', clickHandler, false);
}
Ps!如果您执行for循环,那么我通常会在以后遇到问题,这是最可靠的(至少对我而言)。请解释一下?看起来用户对信息的处理能力比直接的代码修复能力更强。@VoteyDisciple谢谢你,muck工作得很完美,谢谢你的及时回复!一旦时间流逝,我会接受你的答复。这是一个循环,我不知道;我不知道为什么我没有想到要使用它,因为“getelementbyclass”非常简单,我认为我的格式设置是关闭的。谢谢大家!!再解释一下?看起来用户对信息的处理能力比直接的代码修复能力更强。@VoteyDisciple谢谢你,muck工作得很完美,谢谢你的及时回复!一旦时间流逝,我会接受你的答复。这是一个循环,我不知道;我不知道为什么我没有想到要使用它,因为“getelementbyclass”非常简单,我认为我的格式设置是关闭的。谢谢大家!!