2011-02-09 5 views
25

ボタン1は、変数固有のIDを持っているは、ボタンのクリックでリンクする行く - jqueryの

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

以下のように私は、スクリプトを持っています。クリックすると、ページはURL「www.example.com/index.php?id=buttonid」にリダイレクトする必要がありますが、ページは「button id」にのみリダイレクトされます。

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

答えて

55
:ドメインを指定します

まず、window.locationを使用すると、document.locationの値は読み取り専用であり、古い/異なるブラウザで頭痛を引き起こす可能性があります。 MDC DOM document.location page

@そして、第二のための注意事項を確認してください - IDを取得するためにattr jQueryのメソッドを使用して悪い習慣です - thisに割り当てられた値が通常のDOM要素であるとして、あなたは直接ネイティブDOMアクセサthis.idを使用する必要があります。

+0

非常に私の友人...ありがとうございました:) –

+0

+1私はwindow.locationとthis.idを提案する最初のために、私は彼らなしで迅速に私の答えと一緒に行った;) – Sarfraz

+0

@Sarfrazは、 ! –

2

理由だけではなく、あなたがwindow.location.hrefで現在のURLを取得することができますが、私は、クエリ文字列を操作するためのjQueryのクエリプラグインが必要になると思う

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

おかげで...これは動作します。.. :) –

+0

いくつかのより多くのヒントやグッドプラクティス –

4

あなたが必要

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

感謝のための私の答えをチェック@blasteralfred ...この作品.. :) –

+0

@blasteralfred::)ようこそ – Sarfraz

+0

のhrefが不要であると見て私の答えでは、より良いことができたかもしれないことについての情報をもっと見ることができます。 –

5
$('.button1').click(function() { 
    document.location.href='/index.php?id=' + $(this).attr('id'); 
}); 
関連する問題