HTML <button>
要素を取得して、<a href...
タグでラップせずに場所にリンクする方法があるのではないかと考えていますか?
現在、ボタンは次のようになっています。
<button>Visit Page Now</button>
私が好むものnot
<a href="link.html"><button>Visit Page Now</button></a>
ボタンはフォーム内で使用されていないため、<input type="button">
はオプションではありません。この特定の要素を<a href
タグでラップすることなくリンクする方法があるかどうかを知りたいだけです。
いくつかのオプション/意見を聞くことを楽しみにしています。
インライン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';
});
JavaScriptが無効になっている場合でも機能するソリューションを次に示します。
<form action="login.html">
<button type="submit">Login</button>
</form>
秘Theは、ボタンを独自の<form>
タグで囲むことです。
個人的には<button>
タグを好みますが、<input>
でも同様にできます:
<form action="login.html">
<input type="submit" value="Login"/>
</form>
これをやるだけ
<button OnClick=" location.href='link.html' ">Visit Page Now</button>
ただし、JavaScriptに触れてからしばらく経ちました-location.href
は古いのでしょうか?とにかく、それは私がそれをする方法です。
リンクについては、リンクタグが必要です。また、ボタンの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>
それを非送信ボタン(<button type="button">
)にして、window.location = 'http://where.you.want/to/go'
のようなものをonclickハンドラーにフックできます。ただし、javascriptを有効にしないと機能しません。
または、それを送信ボタンにしてサーバーでリダイレクトを行うことができますが、これには明らかに何らかのサーバー側のロジックが必要ですが、利点はjavascriptを必要としないことです。
(実際には、2番目の解決策を忘れてください-フォームを使用できない場合、送信ボタンは無効です)
<a href>がデフォルトで知っているトリックを考慮してください。ただし、javascriptリンクは役に立ちません。まともなウェブサイトでは、リンクとして動作したいものは何でもこれらの機能を何らかの方法で実装する必要があります。すなわち:
ここで、すべての動作をシミュレートしたくない場合は、<a href>を使用し、ボタンのスタイルをlikeにすることをお勧めします。ホバー効果。 「ボタンと他に何もない」だけが意味的に重要でない場合、<a href>がサムライのやり方だと思います。また、セマンティクスと読みやすさを心配する場合は、ドキュメントがready()になったときにボタン要素を置き換えることもできます。それは明確で安全です。
<form action="portfolio.html"> <button type="link" class="btn btn-primary btn-lg">View Work</button> </form>
私はこれを理解したばかりで、デフォルトのリンク設定をボタンクラスに上書きせずに、別のページに完全にリンクしています! :)
ここでは、jQueryを使用しています。 http://jsfiddle.net/sQnSZ/ で実際の動作をご覧ください
<button id="x">test</button>
$('#x').click(function(){
location.href='http://cnn.com'
})