13

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ます。

4

8 に答える 8

17

これは簡単です:

     $(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/

于 2012-12-18T04:26:17.693 に答える
5
var status_id= $(this).attr("href").match(/status=([0-9]+)/)[1];
于 2012-12-18T04:04:33.440 に答える
3
$('a').attr('href');

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

于 2012-12-18T04:03:29.067 に答える
3

ここには 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 パラメーターを取得する方法がないためparseURL、変数「status」の値を検索する関数を (例では)記述する必要があります。

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

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

http://jsfiddle.net/ZKMwU/

于 2012-12-18T04:18:20.033 に答える
2

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

$(document).ready(function() { 
  $("a.change_status").click(function() { 
      var status_id = $(this).attr("href"); 
      alert(status_id);
      return false;
  }); 
});
于 2012-12-18T04:35:30.967 に答える
1
$(document).ready(function() {
        $("a.change_status").click(function(){
           var status_id = $(this).attr("href");
           alert(status_id); return false;
        });
    });
于 2012-12-18T04:03:21.237 に答える
0
$("a.change_status").click(function(){ 
     var status_id = $(this).attr('href'); 
     alert(status_id); 
});
于 2012-12-18T04:07:57.460 に答える