1
A
回答
3
顾名思义document.getElementsByClassName
返回元素的列表,与hover
作为他们的类名,所以你可以不喜欢它:
var i=0,
len = abbrs.length,
abbrs = document.getElementsByClassName("hover");
for(; i < len ; i++){
abbrs[i].addEventListener("mouseover", function(event){
//...
});
}
虽然回答了这个问题,但在更好的编码实践方面,我们更好地避免在循环中创建函数。所以更好的做法可能是这样的:
var i=0,
len = abbrs.length,
abbrs = document.getElementsByClassName("hover");
fnction addEvent(abbr){
abbr.addEventListener("mouseover", function(event){
//...
});
}
for(; i < len ; i++){
addEvent(abbrs[i]);
}
0
document.getElementsByClassName返回或者根据您当前的浏览器和版本的NodeList或的HTMLCollection。
要在“abbrs”集合/列表事件侦听器添加到所有的项目,你需要做的:
for(i=0; i< abbrs.length; i++) {
abbrs[i].onmouseover=function() {...};
}
或者,使用jQuery:
$(".hover").on("mouseover", function() {...});
0
请参见下面的代码(我假设你不使用jQuery)
var abbrs = document.getElementsByClassName("hover");
var index,l=abbrs.length;
for (index = 0; index < l; ++index) {
console.log(abbrs[index]);
abbrs[index].onmouseover = function() {
console.log(this);
}
}
相关问题
- 1. 具有相同名称的jquery多个按钮触发多个具有相同名称的类的事件
- 2. 具有相同类名称的Dll
- 3. 切换具有相同的类名
- 4. 具有相同类名的变量?
- 5. 选择具有相同的类名
- 6. 类具有相同的名称“则actionsList”
- 7. 选择具有相同的类名
- 8. 只有一个具有相同类名的div的jQuery点击事件
- 9. 两个在不同文件中具有相同名称的类?
- 10. 具有相同名称但不同文件夹的Windows Phone类
- 11. 小类具有相同名称在MySQL
- 12. 2反射代码中具有相同名称的事件?
- 13. Excel.Workbook.SaveAs(...)具有相同的名称文件
- 14. YUI3 - onclick事件的处理具有相同的类链接
- 15. 具有模块和类具有相同的名称
- 16. 控制具有相同事件类型的多个文本框
- 17. 具有不同构建类型的相同名称类
- 18. 线向上具有相同的事件名称但不同的命名空间中的许多事件
- 19. 命名命名空间具有相同的类名
- 20. C++具有相同类名的头文件
- 21. 交换具有相同类名的多个文件路径
- 22. 具有相同名称
- 23. 具有相同名称
- 24. PHP继承:子类与父类具有相同的类名
- 25. UpdatePanel - 具有相同控件但具有不同事件的asyncpostbacktrigger和postbacktrigger
- 26. 我们如何点击具有相同类名和相同名称的按钮
- 27. 类有相同的名字
- 28. 具有不同名称的JavaFX 2类具有相同的css代码
- 29. 不同类型的具有相同名称的调用方法
- 30. 重命名所有具有相同基本名称的文件
'的console.log(abbrs);'然后阅读http://www.kirupa.com/html5/handling_events_for_many_ elements.htm – zerkms
您不是迭代节点列表并将事件处理程序绑定到每个元素。 –
谢谢。我忘了那个“小”的细节 – Cornwell