2012-12-18 12 views
11

jQuery:jak zdobyć jQuery kotwica wartość href

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

muszę status_id iz jakiegoś powodu mój tag kotwica jest dynamiczna. Nie mogę użyć identyfikatora ani dynamicznej nazwy zajęć. Myślę, że muszę użyć wartości $this, aby uzyskać moją wartość.

Odpowiedz

10

ten jest prosty:

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

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

powinno wystarczyć

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

Dzięki. działa dla mnie idealnie. – user1911703

0
$("a.change_status").click(function(){ 
    var status_id = $(this).attr('href'); 
    alert(status_id); 
}); 
3

Masz dwie oddzielne kwestie tutaj ... najpierw trzeba znaleźć rzeczywiste kliknięte łącze za this a następnie znaleźć wartość ten atrybut href.

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

Również dlatego, że JavaScript nie ma sposobu, aby wyciągnąć parametrów URL, należy napisać funkcję (na przykład parseURL), w którym znaleźć wartość zmiennej „status”:

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

Zobacz następujący jsfiddle:

http://jsfiddle.net/ZKMwU/

1

Można to zrobić tak:

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