我試圖選擇頁面中的所有<a>
標籤,並且甚至向他們註冊onclick
。如何選擇所有<a>標籤並註冊onclick事件?
我的代碼:
document.getElementsByTagName('a').onclick = show;
var show = function(){
alert('hahahha');
}
它不工作,我的大腦是炒了。有任何想法嗎?非常感謝。
我試圖選擇頁面中的所有<a>
標籤,並且甚至向他們註冊onclick
。如何選擇所有<a>標籤並註冊onclick事件?
我的代碼:
document.getElementsByTagName('a').onclick = show;
var show = function(){
alert('hahahha');
}
它不工作,我的大腦是炒了。有任何想法嗎?非常感謝。
你是onclick
屬性分別設置爲元素的數組,而不是每個元素像你所需要的。另外,您在使用它之後定義show
。
var elts = document.getElementsByTagName('a');
var show = function() { alert('hahahha'); }
for (var i = elts.length - 1; i >= 0; --i) {
elts[i].onclick = show;
}
這是更有效的通過陣列向後迭代比每次通過測試elts.length
。如果需要迭代前進,請將數組長度存儲在變量中以提高效率。
需要onclick事件如下單獨分配給所有的<a> tags
:
var s=document.getElementsByTagName('a');
var show = function(){
alert('hahahha');
}
for (var i=0;i<s.length;i++)
{
s[i].onclick = show;
}
document.getElementsByTagName('a')
因此返回數組試試這個:
var arr = document.getElementsByTagName('a');
for(var key in arr){
arr[key].onclick = show;
}
沒有測試它,但它應該工作
爲什麼不使用jQuery,這將是在javascript簡單的解決方案。
您可以使用如下
$("a").on("click", function(event){
alert('hahahha');
});
參考this文檔。你可以使用Jquery 1.7以上。
的Javascript:
var aLinks=document.getElementsByTagName('a'); // returns array of all <a> link objects
//Function to be bind with link object
var show = function(){
alert("Now Show function has been binded...hahahhaha..!");
}
//Now we have to bind click event with each link object.
for(var i=0;i<aLink.length;i++){
aLinks[i].onclick=show;
}
綁定的所有鏈接標籤與任何事件的另一種替代方法是使用jQuery和它提供
是的,我們可以同時使用Java腳本,以及jQuery的解決上述問題這種綁定麻煩最簡單的方法。
但是,首先我們必須包含jquery.js javascript文件(最好使用最新版本)。
的jQuery:
$(function(){
$("a").click(function(e){
alert("Now Show function has been binded...hahahhaha..!");
});
});