web-dev-qa-db-ja.com

jqueryアンカーのhref値を取得する方法

jQuery:

$(document).ready(function() {
    $("a.change_status").click(function(){
       var status_id = $("a").val();
       alert(status_id); 
       return false;
    });
});

HTML:

<a href="?status=5" class="change_status">Aminul</a><br/>
<a href="?status=25" class="change_status">Arif</a><br/>
<a href="?status=15" class="change_status">Sharif</a><br/>

私は欲しい status_idそして、なぜか私のアンカータグは動的です。 idを使用したり、クラス名を動的にしたりできません。 $this自分の値を取得します。

13
user1911703

これは簡単です:

     $(document).ready(function() {
         $("a.change_status").click(function(){
           var status_id = $(this).attr('href').split('=');
           alert(status_id[1]); 
           return false;
        });
    });

http://jsfiddle.net/NmzRV/

15
hsuk
var status_id= $(this).attr("href").match(/status=([0-9]+)/)[1];
5
Bishnu Paudel

ここには2つの別個の問題があります...最初にthisを使用して実際にクリックされたリンクを見つけ、次にそのhref属性の値を見つける必要があります。

$(document).ready(function() {
    $("a.change_status").click(function() {
        var status_id = parseURL($(this).attr("href"));
        alert(status_id);
        return false;
    });
});

また、JavaScriptにはURLパラメータをプルする方法がないため、変数「status」の値を検索する関数(例ではparseURL)を記述する必要があります。

function parseURL(theLink) {
    return decodeURI((RegExp('status=' + '(.+?)(&|$)').exec(theLink) || [, null])[1]);
}

次のjsfiddleを参照してください。

http://jsfiddle.net/ZKMwU/

3
r0m4n
$('a').attr('href');

トリックを行う必要があります

2
Rick
$(document).ready(function() {
        $("a.change_status").click(function(){
           var status_id = $(this).attr("href");
           alert(status_id); return false;
        });
    });
1

あなたはこれを次のように行うことができます:

$(document).ready(function() { 
  $("a.change_status").click(function() { 
      var status_id = $(this).attr("href"); 
      alert(status_id);
      return false;
  }); 
});
1
Surinder ツ
$("a.change_status").click(function(){ 
     var status_id = $(this).attr('href'); 
     alert(status_id); 
});
0
MikeTedeschi