web-dev-qa-db-ja.com

ボタンのクリックでリンクに移動-jquery

私は次のようなスクリプトを持っています

$('.button1').click(function() {
    document.location.href=$(this).attr('id');
});

button1には可変の一意のIDがあります。クリックすると、ページはURL「www.example.com/index.php?id=buttonid」にリダイレクトする必要がありますが、ページは「button id」にのみリダイレクトされます。

現在のURLの前に文字列「www.example.com/index.php?id=」を追加します。どうすればこれを可能にできますか?

27
$('.button1').click(function() {
   window.location = "www.example.com/index.php?id=" + this.id;
});

まず第一にwindow.locationを使用するほうが仕様に従ってdocument.location値が読み取り専用であり、古い/異なるブラウザで頭痛の種になる可能性があるためです。メモを確認@ MDC DOM document.location page

2つ目-attr jQueryメソッドを使用してidを取得するのは悪い習慣です-thisに割り当てられた値は通常のDOM要素であるため、直接ネイティブDOMアクセサーthis.idを使用する必要があります。

63
Tom Tu
$('.button1').click(function() {
   document.location.href='/index.php?id=' + $(this).attr('id');
});
5
bobgubko

ドメインを指定する必要があります。

 $('.button1').click(function() {
   window.location = 'www.example.com/index.php?id=' + this.id;
 });
4
Sarfraz

2行目を単に変更しないのはなぜですか

document.location.href="www.example.com/index.php?id=" + $(this).attr('id');
2
Chowlett

window.location.hrefで現在のURLを取得できますが、クエリ文字列を操作するにはjQueryクエリプラグインが必要になると思います。 http://plugins.jquery.com/project/query-object

0
Guillaume86