2009-08-26 50 views
15

thể trùng lặp:
How to change the href for a hyperlink using jQueryLàm thế nào để thay đổi thuộc tính href của một liên kết sử dụng Jquery

Tôi có liên kết này:

<a id="myLink_33" href="javascript:toggleMe(1);">Toggle</a> 

Làm thế nào tôi có thể thay đổi các thuộc tính href của liên kết này bằng cách sử dụng Javascript/jquery để liên kết này trở thành:

<a id="myLink_33" href="javascript:toggleMe(0);">Toggle</a> 
+0

http://stackoverflow.com/questions/179713/how-to-change-the-href-for-a-hyperlink-using-jquery –

Trả lời

27
$("#myLink_33").attr("href", "javascript:toggleMe(0);"); 
5

Điều đó chắc chắn sẽ hiệu quả, tuy nhiên tôi muốn đề xuất phương án thay thế.

HTML

<a class="toggle">Toggle</a> 

jQuery/Javascript

$(document).ready(function(){ 
    $('a.toggle').click(function (eventObject){ 
    var target = $(eventObject.target); 

    // will add or remove the class automatically 
    target.toggleClass('toggle_on'); 

    if(target.hasClass('toggle_on')){ 
     /* toggle on code here */ 
     alert('Toggle On'); 
    } 
    else{ 
     /* toggle off code here */ 
     alert('Toggle Off'); 
    } 
    }); 
}); 

này giúp bạn ra khỏi việc phải sử dụng thuộc tính href cho Toggles và cho phép bạn kiểm soát mọi thứ thông qua phong cách và không có điều gì. Mặc dù kinh nghiệm của tôi với jQuery không phải là tất cả những gì rộng lớn như thế này có vẻ thông thường hơn một chút.

3

Theo kinh nghiệm của tôi, việc thay đổi thuộc tính bằng bộ chọn id sẽ không cập nhật phần tử thực.
Tuy nhiên, việc sử dụng lớp và các bộ chọn khác sẽ hoạt động. Vì vậy,

$('#myLink_33').attr('href','http://www.google.com')

sẽ thay đổi giá trị của thuộc tính href chỉ khi truy vấn, nhưng khi liên kết được thực sự được lựa chọn, nó sẽ mặc định giá trị href nó sở hữu khi trang nạp.

Tuy nhiên giả sử neo đã có một class="myLink_33", sự thay đổi attr,

$('.myLink_33').attr('href','http://www.google.com') 

sẽ làm việc như mong đợi.

Các vấn đề liên quan