只是想知道是否有办法让HTML <button>
元素链接到某个位置而不将其包含在<a href...
代码中?
按钮目前看起来像:
<button>Visit Page Now</button>
我希望不拥有:
<a href="link.html"><button>Visit Page Now</button></a>
该表单中未使用该按钮,因此<input type="button">
不是一个选项。我只是想知道是否有办法链接这个特定的元素,而不需要将它包装在<a href
标签中。
期待听到一些选择/意见。
答案 0 :(得分:66)
内联Javascript:
<button onclick="window.location='http://www.example.com';">Visit Page Now</button>
在Javascript中定义一个函数:
<script>
function visitPage(){
window.location='http://www.example.com';
}
</script>
<button onclick="visitPage();">Visit Page Now</button>
或在Jquery
<button id="some_id">Visit Page Now</button>
$('#some_id').click(function() {
window.location='http://www.example.com';
});
答案 1 :(得分:21)
这是一个即使禁用JavaScript也能解决的解决方案:
<form action="login.html">
<button type="submit">Login</button>
</form>
诀窍是用自己的<form>
标签包围按钮。
我个人更喜欢<button>
标记,但您也可以使用<input>
执行此操作:
<form action="login.html">
<input type="submit" value="Login"/>
</form>
答案 2 :(得分:6)
就这样做
<button OnClick=" location.href='link.html' ">Visit Page Now</button>
虽然,自从我触及JavaScript以来已经有一段时间了 - 也许location.href
已经过时了?无论如何,我就是这样做的。
答案 3 :(得分:6)
嗯,对于链接,必须有一个链接标记。您还可以做的是为按钮创建一个css类,并将该类分配给链接标记。等,
CSS
#btn{ background:url(images/button.jpg) no-repeat 0 0; display:block; width:50px; height:20px; border:none; outline:none;}
HTML
<a href="btnlink.html" id="btn"></a>
答案 4 :(得分:5)
您可以将其设为非提交按钮(<button type="button">
)并将window.location = 'http://where.you.want/to/go'
之类的内容挂钩到其onclick处理程序中。如果没有启用javascript,这不起作用。
或者你可以把它作为一个提交按钮,并在服务器上进行重定向,虽然这显然需要某种服务器端逻辑,但好处是不需要javascript。
(实际上,忘了第二个解决方案 - 如果你不能使用表格,提交按钮就会出来)
答案 5 :(得分:2)
<form action="portfolio.html">
<button type="link" class="btn btn-primary btn-lg">View Work</button>
</form>
我刚想出来了,它完全链接到另一个页面而没有我的默认链接设置超过我的按钮类! :)
答案 6 :(得分:2)
只是旁注 - 您可能需要考虑&lt; a href&gt;的技巧默认情况下知道,但javascript链接不会为你做。即:
现在,如果你不想模拟所有这些行为,我建议使用&lt; a href&gt;并将它设置为喜欢一个按钮,因为按钮本身大致是一个形状和一个悬停效果。我认为如果仅仅拥有&#34;按钮而没有别的&#34;,&lt; a href&gt;是武士的方式。如果您担心语义和可读性,您还可以在文档准备就绪时替换button元素()。它清晰而安全。
答案 7 :(得分:1)
这里使用的是jQuery。请参阅http://jsfiddle.net/sQnSZ/
中的实际操作<button id="x">test</button>
$('#x').click(function(){
location.href='http://cnn.com'
})
答案 8 :(得分:0)
假设在你的 HTML 文件中有一个 id="Button" 的按钮,在 script.js(你的脚本文件)中,你可以这样使用:
document.getElementById("Button").addEventListener("click", gotoUrl);
function gotoUrl() {
window.location.assign("https://www.google.com/");
}
现在该按钮会将您带到 Google!