我知道如何处理带有 id 的链接:
var a = document.getElementById("mylink");
a.onclick = function() {
alert("ok");
};
但是,如果我在一个类.lotsOfLinks中有 3 个链接,并且我想像处理 Id 一样处理每个链接。
什么是最好和最短的方法?
谢谢你。
我知道如何处理带有 id 的链接:
var a = document.getElementById("mylink");
a.onclick = function() {
alert("ok");
};
但是,如果我在一个类.lotsOfLinks中有 3 个链接,并且我想像处理 Id 一样处理每个链接。
什么是最好和最短的方法?
谢谢你。
像这样做:
var elements = document.getElementsByClassName("lotsOfLinks");
for (var i = 0; i < elements.length; i++) {
elements[i].onclick = function() {
alert("ok");
};
}
// use querySelectorAll for greater browser compatibility
var a = document.querySelectorAll(".mylink");
// make your handler
var handler = function() {
alert("ok");
};
// iterate the collection, and assign the handler
for (var i = 0; i < a.length; i++) {
a[i].onclick = handler;
}
请注意,querySelectorAll
这在 IE6/7 中不起作用,但我想您此时不支持那些 JavaScript 环境。
var a = document.getElementsByTagName('a');
for (var i = 0; i < a.length; i++){
if (a[i].className == "lotsOfLinks"){
a[i].onclick = function(){ alert("ok"); }
}
}
您可以尝试document.getElementsByClassName('myClass');
,但在 9 之前的 IE 版本中不支持没有 polyfill
var elements = document.getElementsByClassName("lotsOfLinks");
for(var i = 0; i < elements.length; i++) {
elements[i].addEventListener("click", function() {
alert("ok");
}
}
使用了 addEventListener() 函数。