2012-12-18 24 views
11

jQuery:làm thế nào để có được jquery neo giá trị 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/> 

Tôi cần status_id và vì một lý do thẻ neo của tôi là năng động. Tôi không thể sử dụng id hoặc tạo tên lớp động. Tôi nghĩ rằng, tôi cần phải sử dụng $this để có được giá trị của tôi.

Trả lời

10

Cái này rất đơn giản:

 $(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'); 

nên làm các trick

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

Cảm ơn. nó làm việc cho tôi một cách hoàn hảo. – user1911703

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

Bạn có hai vấn đề riêng biệt ở đây ... đầu tiên bạn cần phải tìm các liên kết nhấp thực tế sử dụng this và sau đó tìm giá trị của thuộc tính href đó.

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

Ngoài ra, vì javascript không có một cách để kéo các thông số URL, bạn phải viết một hàm (trong ví dụ parseURL), trong đó để tìm giá trị của biến "trạng thái":

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

Xem jsfiddle sau:

http://jsfiddle.net/ZKMwU/

1

Bạn có thể làm điều này như:

$(document).ready(function() { 
    $("a.change_status").click(function() { 
     var status_id = $(this).attr("href"); 
     alert(status_id); 
     return false; 
    }); 
}); 
Các vấn đề liên quan