悬停时的JavaScript执行元素特有的操作
我正在尝试为我的站点创建一个基本的JS文件,这就是它需要做的。我需要它挑出所有类名为“program”的div,并根据悬停在哪个“program”上,执行该元素特有的操作。这是可能的,还是我必须进入一个更具体的步骤,并针对唯一ID或数据属性 到目前为止,我唯一知道的是:悬停时的JavaScript执行元素特有的操作,javascript,html,css,Javascript,Html,Css,我正在尝试为我的站点创建一个基本的JS文件,这就是它需要做的。我需要它挑出所有类名为“program”的div,并根据悬停在哪个“program”上,执行该元素特有的操作。这是可能的,还是我必须进入一个更具体的步骤,并针对唯一ID或数据属性 到目前为止,我唯一知道的是: var programs = document.getElementsByClassName('program'); 这是为了获得DOM中出现的所有“程序”的“类似数组”列表。然后我想有一个悬停函数,根据悬停在哪个“程序”上,
var programs = document.getElementsByClassName('program');
这是为了获得DOM中出现的所有“程序”的“类似数组”列表。然后我想有一个悬停函数,根据悬停在哪个“程序”上,程序[0]、程序[1]、程序[2]或程序[3]执行特定的操作
请不要用jQuery 使用.querySelectorAll-
或者使用getElementsByTagName+traversal(建议仅使用polyfill)的老式方法当“program”元素悬停时,您可以使用来执行一些javascript
var programs = document.getElementsByClassName('program');
for(var ctr = 0; ctr<programs.length; ctr++)
{
programs[ctr].onmouseover=function(sender){
//some action on hover here
alert("id of element hovered: " + sender.target.id);
};
}
var programs=document.getElementsByClassName('program');
对于(var ctr=0;ctr),可能有很多方法可以做到这一点,但您可以使用EventListener来实现这一点
这是如何做到的:
var x=0;//global variable
document.addEventListener('DOMContentLoaded',function(){
var programs = document.getElementsByClassName('program');
for(var i=0;i<programs.length;i++){
programs[i].addEventListener('click',someFtn);
x=i;
}
function someFtn(event){
console.log(this.id); //it will give you the ID of clicked program
console.log(x); // tells which 'i' it was
}
});
var x=0;//全局变量
document.addEventListener('DOMContentLoaded',function(){
var programs=document.getElementsByClassName('program');
对于(var i=0;iMouseOver for DOM元素,Javascript支持使用可直接附加到DOM元素的事件处理程序
首先使用document.getElementsByClassName功能:
其次,附加到MouseOver功能的每个项目:
或者,如果CSS在本质上具有风格,它也可以使用:hover来处理鼠标悬停
参考:
祝你好运!你如何辨别你需要采取什么行动?如果你知道程序[0]需要某种行动,你可以硬编码程序[0]。onmouseover来执行一些预期的行动,但这不是很容易扩展。也许如果你提供更多的上下文,我们可以更好地回答这个问题。也许这有助于:“如何为html类添加事件侦听器?"不是被否决的选民,但是w3schools的链接在这里通常是不受欢迎的。嗯?我不知道,知道为什么吗?W3Stools的家伙到处都是……但是W3Stools不再是@koolaide了。没关系,只是有些人不喜欢那个网站,他们打算抵制那个网站,而糟糕的是他们强迫别人这么做。@RPM为什么w3schools不好?Excellent谢谢。但是在someFtn函数中,我可以记录与我单击的特定项目对应的数字I吗?比如console.log(this./which I is here/);我很高兴它对您有效。请将其标记为已接受,以便其他人可以从中获得帮助。我已相应地编辑了代码,请检查并告知我。