我有一个问题,我似乎无法将我页面上的所有按钮链接到另一个页面,它可以使用ID或使用特定元素,例如:document.getElementsByTagName(" button&#34 )[0] .onclick
但是要做document.getElementsByTagName("按钮")。onclick(所以所有按钮) 或者做document.getElementsByClassName(" theButtons")。onclick 不起作用。
我的Javascript代码:
window.onload = function(){
document.getElementsByTagName("button").onclick = function () {
location.href = "../index.html";
};
};
<button class="theButtons">click me</button>
<button class="theButtons">click me</button>
<button class="theButtons">click me</button>
答案 0 :(得分:1)
您需要遍历文档中的按钮集合。 window.onload = function(){
var buttons = document.getElementsByTagName('button');
for (var i = 0; i < buttons.length; i++) {
var button = buttons[i];
button.onclick = function () { location.href = "../index.html"; };
}
}
返回所有匹配元素的集合,因此您必须遍历该数组并分配每个项目的{{1}}。
{{1}}
答案 1 :(得分:1)
这是因为document.getElementsByTagName
将返回HTMLCollection,document.getElementById
将返回一个DOM元素。 HTMLCollection无法添加任何事件侦听器。
您可以尝试:
for
循环遍历数组,向每个click
注册button
事件处理程序。希望这有用。
答案 2 :(得分:-1)
另一个选择是使用Jquery click()
查看小提琴http://jsfiddle.net/85qLh41a/3/
<button class="theButtons">click me</button>
<button class="theButtons">click me</button>
<button class="theButtons">click me</button>
<script>
$(".theButtons").click(function() {
location.href = '../index.html';
});
</script>
或者这将适用于页面上的所有按钮
<script>
$("button").click(function() {
location.href = '../index.html';
});
</script>