web-dev-qa-db-fra.com

comment obtenir la valeur href de jquery anchor

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

J'ai besoin de status_id et pour une raison quelconque, ma balise d'ancrage est dynamique. Je ne peux pas utiliser id ou rendre le nom de la classe dynamique. Je pense que je dois utiliser $this pour obtenir ma valeur.

13
user1911703

Celui-ci est simple: 

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

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

Vous avez deux problèmes distincts ici ... vous devez d’abord trouver le lien sur lequel vous avez cliqué à l’aide de this, puis trouver la valeur de cet attribut href.

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

De plus, javascript ne permettant pas d'extraire les paramètres d'URL, vous devez écrire une fonction (dans l'exemple parseURL) dans laquelle rechercher la valeur de la variable "status":

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

Voir le jsfiddle suivant:

http://jsfiddle.net/ZKMwU/

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

devrait faire l'affaire

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

Vous pouvez faire ceci comme:

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